Wednesday, October 1. 2008

Over the last few weeks the grml team evaluated the distributed version controll systemGit. Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Read the wikipedia article on Git to get an (not so short) overview.

Grml used to work with the distributed version controll system Mercurial and officially announced its use on October 18th, 2006. The way Mercurial worked was great for us and at that time it definitely was the best solution for our needs. We provided detailed documentation for our setup (see grml.org/mercurial/) and developed our own utils for working with Mercurial and Debian packaging (grml-mercurial-utils). Special thanks to the Mercurial developers - we highly appreciate all your help!

Git provides better branching, rebasing which is great especially when you want to put essential software under your own control without having to fork it from upstream

Git provides a low-level interface and all the important features as part of the Git suite. Mercurial provides some important features just as extension (which might not work on upgrades or don't play together with other extensions).

more and more software we have to deal with is available in Git repositories

So whereas Mercurial used to work just fine for us in most cases Git provides the better approach for us nowadays.

By today (1st of october 2008) the grml mercurial repositories are deprecated and the official place for grml's sources is git.grml.org. The mercurial hosting will be deactivated within the next few weeks.

All the documentation and scripts of grml are being updated to reflect the changes and updated URLs but it has not been finished yet. So if you find something still mentioning hg.grml.org instead of git.grml.org please let us know, thanks!

As usual we provide documentation about our setup and tools:grml.org/git/