Tag Archives: mercurial

Bitbucket, Hosted Mercurial Source Control

Bitbucket, Mercurial distributed version control hostingBitbucket is the latest project by Jesper Nøhr. If the name looks familiar, it’s because I wrote about a Jesper in March when he used Django and Python as a rapid development environment for an indy advertising product named Indiego Connection.

This time around, Jesper has moved gears to provide a hosting for a popular distributed version control system named Mercurial. I haven’t started drinking the distributed version control kool-aid just yet, however it has been gaining a lot of attention lately via another open source product named Git, developed by Linus Torvalds – the creator of the Linux kernel.

The Mercurial hosting provided by Bitbucket comes in a few different flavours, one of which is free and allows up to 150Mb of storage. I really like the fact that they are not attempting to offer a completely free service, if they were – I suspect that it’d be under enormous pressure. The cost of using Bitbucket to host your Mercurial repositories is very reasonable, starting from $5/month and stepping up to $100/month which includes 25Gb of storage.

Changeset visualisation provided by Bitbucket, a Mercurial hosting serviceBitbucket provides a very convenient interface for interacting with the Mercurial repositories. As with most web interfaces to source control management packages, you can browse through different repositories, see all of the changes flowing through them and compare them if you like. A couple features that simpler products don’t support that I like is that you can ‘follow’ a repository, create queues for patches related to a repository, download the repository at time x in zip, gz or bz2 formats and it provides an easy to understand visual linking between changesets.

If you are looking for Mercurial hosting, I would definitely investigate whether Bitbucket is a suitable candidate to store whatever you need versioned. The service certainly looks the goods and from what I’m reading online, it is getting really solid reviews already.

Source Control Commit Visualisation

Software development relies on source control management software such as CVS, Subversion, SourceSafe, Bitkeeper, Mercurial, Git and the like to track and manage the changes in the source code over time. As a project progresses, developers come and go, contractors come and go and the activity on a given project ebs and flows as required.

Attempting to visualise who, what and how much of a project is changing is quite complex as there are so many variables – however Michael Ogawa has built a project named code_swarm which does just that. Instead of providing tabular or static images to help visualise a projects changes, he has managed to animate it into something quite spectacular.

Following are five different code swarm visualisations of popular open source projects:

The amazing thing that a visualisation such as code_swarm provides, is to show just how many people actively participate in a given open source project, how much each of them participates and what sort of tasks they are normally performing on that project. As an example, comparing the number of different people in SQLAlchemy compared to Django isn’t a competition – Django is ahead by a mile, though compared to Apache, the others seem insignificant.