Versioning-file-system is a project mainly written in C++ and C, it's free.
A FUSE based Versioning file system implementing Branching and Cleanup
A versioning file system (with branching) in the userspace developed by RK Hall for OpenSoft 2011, IIT Kharagpur.
To build and install, execute (from the project root directory): make sudo make install
Prior to use, run: nautilus -q
To use, execute: vfs </path/to/rootdir/> </path/to/mountdir/>
To uninstall: sudo make uninstall
To clean out all object files / derived files: make clean
NOTE: Always try to give absolute paths to the commands below.
vfs </path/to/rootdir/> </path/to/mountdir/> To mount the directory 'rootdir' at the mountpoint 'mountdir' for use. (Note: the source directory and mountpoint must be named 'rootdir' and 'mountdir' respectively).
fusermount -u </path/to/mountdir/> To unmount the VFS (if it is running).
lsver </path/to/file> To list all versions of a particular text file in the VFS.
checkout </path/to/file>
revert </path/to/file>
tag </path/to/file>
timeline </path/to/file> To view a GUI showing a visual, navigable version tree of the file. (Note: A better way to do this would be to simply right-click any file in the VFS, and select the menu item RVFS -> Versions)
piechart </path/to/mountdir/> To view a pie chart showing disk usage in the VFS.