Introducing Gitfs
Git has been a developer’s go-to tool ever since it started to gain popularity a few years back. Still, not everyone who gets to play a bit with code will want to go through the whole process of learning its quirks. This is where gitfs, the open-source tool we’ve open sourced, comes into play.
Gitfs had the world premiere at the Romanian Python Conference in Iaşi (pronounce it ‘yash’). Vlad did an awesome job both as a speaker and, of course, as the lead developer for Gitfs.
We designed Gitfs to make git usage transparent to webmasters: easy and hassle-free; you only have to mount a repository locally, and every change you make on this file system gets automatically committed. So from now on, you can use a local git repository, mounted with gitfs, to make sure all of the changes made to your project are saved and tracked. Gitfs also comes in handy when trying to give short-term repository access to people who don’t want to use git.
All of this works by creating a virtual file system whose operations are mapped to the basic git actions like push and fetch. Gitfs automatically tries to fetch any changes from the remote repository every few seconds so that your mount point stays synced.
Whenever you’re working on a file, gitfs will wait until you finished editing and saved it, and only then will it push the changes to the server. To add a finishing touch, we provided a way of viewing every single state your project was in, feature which you can access in the history folder, by navigating through the dates, times, and commits, until you reach the one you’re looking for.
Work began on gitfs about four months ago. Now, we have 803 commits, 4,571 lines of code, and over 95% test coverage. Gitfs was built with Python, FUSE, and libgit2, and, just like all these great projects, we’re eagerly awaiting users, feedback and contributions on the official page.
We would like to thank Tommi Virtanen for allowing us to use the gitfs acronym in the Pypi repo.
PS: For the vast majority of you who didn’t have the chance to see our live intro at the conference, taking a look over the slides below should give you a better sense of Vlad’s launch presentation.