SnowFS ❄️ Let’s bring version control to graphic projects

Introduction

Welcome to my first article here on Dev.to. In this article, I will be sharing an overview of an open-source project I kicked off to explore ideas and solutions on how to bring version control to graphic projects.

The open-so…


This content originally appeared on DEV Community and was authored by Sebastian Rath

Introduction

Welcome to my first article here on Dev.to. In this article, I will be sharing an overview of an open-source project I kicked off to explore ideas and solutions on how to bring version control to graphic projects.

The open-source project is called SnowFS and it is a lightweight command-line application and library for binary files with a focus on graphic files.

But why?

I recently started developing an UI application that brings local version control and artists/designers together. Given the effort of the Git community to support larger files, I tried Git+LFS for my first prototype. It seemed, after several successful tests I've overcome the inner demons that were screaming Don't even try to use Git with such big files. Means Git with LFS is a nice solution to tackle such needs.

Unfortunately, the devil is in the detail, and some features beneficial for the software development process can be quite counterintuitive for other project types. 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.

Basically, I needed Git, just more lightweight, support for big files, and a fraction of the functionality. And that's how SnowFS was born. It supports...

  • ...deleting of entire commits or individual files
  • ...instant snapshots
  • ...instant rollback
  • ...super-fast-detection of large modified files
  • ...block-cloning and copy-on-write supports for APFS, ReFS, and Btrfs
  • ...and more.

How does SnowFS perform?

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!

Where to go from here?

SnowFS 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!

In that sense, Happy versioning!


This content originally appeared on DEV Community and was authored by Sebastian Rath


Print Share Comment Cite Upload Translate Updates
APA

Sebastian Rath | Sciencx (2021-03-14T19:32:03+00:00) SnowFS ❄️ Let’s bring version control to graphic projects. Retrieved from https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/

MLA
" » SnowFS ❄️ Let’s bring version control to graphic projects." Sebastian Rath | Sciencx - Sunday March 14, 2021, https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/
HARVARD
Sebastian Rath | Sciencx Sunday March 14, 2021 » SnowFS ❄️ Let’s bring version control to graphic projects., viewed ,<https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/>
VANCOUVER
Sebastian Rath | Sciencx - » SnowFS ❄️ Let’s bring version control to graphic projects. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/
CHICAGO
" » SnowFS ❄️ Let’s bring version control to graphic projects." Sebastian Rath | Sciencx - Accessed . https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/
IEEE
" » SnowFS ❄️ Let’s bring version control to graphic projects." Sebastian Rath | Sciencx [Online]. Available: https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/. [Accessed: ]
rf:citation
» SnowFS ❄️ Let’s bring version control to graphic projects | Sebastian Rath | Sciencx | https://www.scien.cx/2021/03/14/snowfs-%e2%9d%84%ef%b8%8f-lets-bring-version-control-to-graphic-projects/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.