The (git) clone wars: we moved to git!

One of the cool things of open source projects is having the ability morphing things as users contribute and expertise builds. Gotta love that!

Thanks to the insistence of one of our more persistent contributors and great samba developer (obnox), who kept on prodding us to move to Git, we have now successfully made the transition of all Amahi source code management from svn to git!

Check out the web interface to the Amahi Git repo. As you can tell from the logs, the project has been receiving a few contributions already!

Amahi Git Repo

Amahi Git Repo

To clone our repo, you do this:

git clone git://git.amahi.org/amahi.git

With traditional source control (subversion, cvs, perforce, etc), you check in your modifications when they’re stable enough, because the repository is central. For things that may not be stable or for work in progress, branching is the better solution. However, branching and merging is a bit of a pain in some of these systems.

Git adds the notion of a local repository and makes branching, sharing and contributing fantastically easy. See for instance how we got contributions on internationalization for Amahi (we have now the Amahi interface in Dutch and German!, contributed by obnox and moredruid!) and a great set of hints for using git from obnox.

So rather than having one central repository that everyone shares, each user has their own personal repository. You can do all the commits/checkouts/modifications/branches with your local repository, without affecting other developers in the team.

Then, similarly to traditional source control, you can push your changes to the peers (or primary peer – think of this as a stable repository on the build server) when things are usable or ready.

So, there! Go forth and clone! Then contribute! 🙂