SnowFS is a lightweight open-source command-line application to bring version control to graphic projects.
2 minute reading time
Snowtrack brings version control to artists and designers. The initial prototype for the Snowtrack UI application was built using Git and Git LFS. Given the effort of the Git community to support larger files and some successful initial tests we were optimistic about our approach.
Unfortunately, the devil is in the detail. Some features beneficial for the software development process can be counterintuitive for artistic endeavours. For example, the hash integrity of Git is great to ensure the integrity of a software repository, but not really needed for a graphic project. For such project types, the requirement to delete individual files or removing entire commits without rewriting the history all the time is more important.
In essence, for our prototype we needed Git. Except more lightweight, simple support for large files, and a fraction of the functionality. We decided to risk building our own system and started on the first draft of SnowFS.
It supported
Below is a comparison between Git and SnowFS on a Macbook Pro (2020) with an APFS formatted SSD to check-in, delete and restore a 4GB Photoshop File.
$ git lfs track *.psd $ git add texture.psd # 20164ms $ snow add texture.psd # 4596ms <-- Not bad $ git rm texture.psd # 575ms $ snow rm texture.psd # 111ms <-- Also ok $ git checkout HEAD~1 # 9739ms $ snow checkout HEAD~1 # 1ms <-- Yeah!
SnowFS was and is a great lightweight and flexible project to explore and experiment with new ideas for version control. If you are interested in the project, we are looking for your expertise to share and learn!
As Snowtrack evolved so did our version control system. From the foundation of SnowFS we are building SnowVCS. Want to know more about SnowVCS? Head over to the product page.
Learn more