Fossil: your local version control system

fossil_compWe keep changing documents and files and it may not be possible to track all the changes or go back to a previous state after a few days. That’s where a revision control system comes handy. While there are many cloud based solutions it is difficult to find something which runs locally and yet not too heavy. Enter Fossil – multiplatform, damn light (the Linux package is less than 1MB in size!!!) and lots of functionality and options for customization along with a web interface. You can change the settings to view diffs with your favourite diff viewer. Fossil is written in C. The official documentation is extensive. Here’s a quick guide to kickstart with Fossil:

$ mkdir /opt/myrepo //your main repository location
$ cd /opt/myrepo
$ fossil init localrepo //create a repository localrepo
$ fossil set editor vim //let vim be your editor for changelogs
$ mkdir ~/fossil_files //we'll check out here
$ cd ~/fossil_files
$ fossil open /opt/myrepo/localrepo
$ mkdir root
$ touch root/firstfile //your first file, add something in it
$ fossil commit //you just added something in your repo
$ fossil ui /opt/myrepo/localrepo //the web interface to browse repos, branches, files...

Click on the Files tab and now you can browse your newly created repository, view diffs, changelogs and everything. How cool is that?

To install Fossil on Ubuntu:

$ sudo apt-get install fossil

Navigate through the documentation to know more about Fossil. You’ll be surprised what you can do with it.

Chisel is a service offering hosting for unlimited Fossil repositories.

Webpage: Fossil

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