EuroPython 2015

gitfs - building a filesystem in Python

gitfs is an open-source[1] filesystem which was designed to bring the full powers of Git to everyone, no matter how little they know about versioning. A user can mount any repository and all the his changes will be automatically converted into commits. gitfs will also expose the history of the branch you’re currently working on by simulating snapshots of every commit.

gitfs is useful in places where you want to keep track of all your files, but at the same time you don’t have the possibility of organizing everything into commits yourself. A FUSE filesystem for git repositories, with local cache.

In this talk we will take a look at some of the crucial aspects involved in building a reliable FUSE filesystem, the steps that we took in building gitfs, especially in handling the git objects (, what testing methods we have used for it and also we will share the most important lessons learned while building it.

The prerequisites for this talk are: A good understanding of how Git works Basic understaning of Operating Systems concepts

[1] You can get the source here -; you cand find more details here -

in on Thursday 23 July at 14:30 See schedule


Do you have some questions on this talk?

New comment