CODE
gitfs

gitfs

Version controlled file system made by Presslabs, to allow managed WordPress hosting customers to use at the same time Git and SFTP. Open-sourced, so that everyone can benefit from using a version-controlled environment without having to learn anything new.

gitfs http://your.com/repo.git /mount/dir

Install gitfs Read the documentation

1. presslabs@presslabs: ~/ (bash)
launch

Features

bolt

Automation

Automatically commits changes like create, delete, update files and their metadata.

folder

Browsable

Browse through the working index, and also see the entire commit history, as separate folders, organized by date.

git_merge

Merging strategy

The system merges with upstream by automatically accepting local changes.

user

Permissions

Mounts the file system as a user or a group.

write

Cache

Caching commits reduce the memory footprint and speed up navigation.

chart_area

Optimization

It reduces the number of commits by grouping pushes.

gitfs idea
lightbulb_on

How the idea came up

The idea of a git file system was conceived out of the need of users to make small changes to the project the developers were working on. Lacking the prior knowledge needed in order to use a version control system, these modifications were bringing nightmares to the development team and a solution was needed. Now you have the possibility of organizing everything into commits yourself with this FUSE file system for git.

eyeglass

Find out more

notebook

Use cases

Mount your web server with gitfs for easy deployment and fast rollbacks. Use gitfs on a local project to keep track of all the changes.

settings

How it works

Gitfs is written exclusively in Python. It uses the fusepy module to expose the file system, backed by pygit2. It's also thoroughly tested with over 95% coverage. It mounts a file system whose operations are mapped to the usual git ones. Whenever you write to a file in a gitfs-mounted file system, the file will be committed, and a push will be made to the origin.

power_plug

How to contribute

Development of gitfs happens on GitHub. You are highly encouraged to contribute with code, tests, documentation, or just to share your experience.

Feel free to use and contribute

Contributions in the form of issues, bug reports, feature proposals or good old pull requests in the project repo are all equally welcome!