Professionally I have been an administrator for CVSNT, Perforce, Vault, and Subversion. In my experience, the one area all these systems seem to fall flat is renaming when combined with merging/branching. All of those systems start to look long in the tooth when you see the new wave of source control systems. What appeals to me about the distributed source systems is not the P2P type repository, it’s that branching and merging are first class citizens (See Renaming is the killer app of distributed version control ). The three big players I’ve been watching are Git, Hg (Mercurial), and Bazaar. All of these systems seem to allow much better branching and merging.
Bazaar’s sell sheet has persuaded me to give it a spin. In the future I would definitely like to give both Git and Mercurial some real world projects to manage. Although I can compare and contrast feature sheets, sometimes nothing beats first hand experience.
Since I chose Bazaar as my source control system, I’ve decided to host the TuneWiz development on Launchpad. Launchpad uses Bazaar as it’s version control system. Launchpad has tools for managing specifications, bugs, Q&A, etc. One of the most interesting thing Launchpad offers is the ability for anyone to easily contribute to your project. From here:
With Launchpad and Bazaar, contributors can create their own branch of your code, make their changes and then push it all back up to Launchpad to be listed right alongside your official branches. And because they never touch your trunk they don’t need to ask for commit access.
Launchpad’s code review and Bazaar’s superb support for merging make bringing the new code and its revision history back into your branch quick and easy.
Here is TuneWiz hosted on Launchpad.