gitfs: version controlled filesystem

You have a server and you want to rollback the directory with your website files anytime you want. You can keep a backup of the files on a separate media and copy them back. What if you made some changes to the theme and want to keep both the original version and the modified one? Redundancy increases and it’s too difficult to trackback.

Similarly, a writer would want to keep track of every change he ever made to the novel he is writing. These scenarios call for a version control system like git. However, most people wouldn’t want to go through the pain of learning git other than developers.

gitfs is a solution for people who doesn’t need to know about git. It is a version controlled FUSE file-system in python and keeps track of each change you make, silently. gitfs connects an online git repository to a local directory so that changes made to the directory can be tracked. When there is a change to the directory, git push is called behind the scenes. It was developed for needs of devs, but is useful for a layman in need of version control.

Features

  • Automatically commits changes: create, delete, update files and their metadata
  • Browse through working index and commit history
  • Merges with upstream by automatically accepting local changes
  • Mounts the file system as a user or a group
  • Caching commits reduces the memory footprint and speeds up navigation
  • Reduces the number of commits by grouping pushes
  • Edit files using sftp

Installation

To install gitfs on Ubuntu, run:

$ sudo add-apt-repository ppa:presslabs/gitfs
$ sudo apt-get update
$ sudo apt-get install gitfs

Usage

Run the following command to track a directory:

$ gitfs http://your.com/repo.git /mount/mountpoint

Webpage: gitfs

Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s