Today we added a tool that hosts
Mercurial, a distributed source code management system. I'd like to invite the true hard-core geeks among us to give it a test drive. Lead developer, Vitalie Lazu, provides
these instructions.
Mercurial is a distributed source code management system. In a distributed SCM system, every developer has a copy of the repository and a set of individually customized versions, or branches. Developers share their work by swapping changesets, and they can essentially mix and match, deciding what change to merge, and what changes to leave out. Distributed SCM systems have become popular in big open source projects like Linux, which uses GIT, and Mozilla, which uses Mercurial. I'll explain why below.
We expect that Subversion, a centralized SCM system, will remain the choice of the majority of our users. Subversion helps to build teams by essentially forcing everyone to work on the same build. And, it has great mouse-operated client software. It's easy to use.
Distributed SCM systems make it harder to build teams. People can wander off more easily. And, they use command line interfaces and require some real thinking to operate. But, they are essential if you have a lot of contributors. Statistically, the chance that you will have a broken build in a centralized SCM system is much greater if you have 30 people contributing, instead of three. Every changeset can break something, with the potential for fingerpointing and even mob chaos. With a distributed SCM System, you can funnel the changesets through a "maintainer", and that person can test them and manage the versions that go to a central distribution point, such as the Assembla repository. It's an organizational structure that we know can scale to thousands of contributors.
By offering Mercurial, we are making a commitment to support these more complex projects.
We selected Mercurial because it integrates with Trac, and it works well on all of our typical platforms - Windows, Mac, and Linux. Some of the alternatives are weak in Windows support, and we like the Trac code browser. We did some research, and we determined that Mercurial is a good next step for sophisticated teams.
It's a test at this stage. Please try it out and send in your comments. We have copied some of the documentation
here where you can comment on it. Create a space, go to the Admin/Tools page, and select "Trac and Mercurial".