[Linux-ha-dev] mercurial (source control)

Alan Robertson alanr at unix.sh
Tue Aug 8 05:52:47 MDT 2006


David Lee wrote:
> On Mon, 24 Jul 2006, Alan Robertson wrote:
> 
>> CVS is not a really wonderful source control system.
>>
>> It is our plan to convert to Mercurial some time in the reasonably near
>> future.  Reviews of it have been mostly very good.
>>
>> We will still be able to have a source control mailing list, and a web
>> interface.  From what I can see both will be nicer than at present.
>>
>> But, it will mean people grabbing versions of the code will need to have
>> a copy of Mercurial.
> 
> (Just back from two-week holiday, so playing catch-up...)
> 
> Agreed that CVS has been been improved upon by other offerings.
> 
> But any reason for choosing mercurial, rather than subversion (svn) as the
> next-generation source control management system?  (GNU seem to use SVN;
> samba has recently switched to SVN; etc.)  What are the pros/cons of
> mercurial vs. svn?
> 
> (I know almost nothing of either!  But for us Linux-HA maintainers, this
> change could be high-impact, so it seems worth checking that we are
> jumping in the best direction...)

As a Solaris guy, you might want to know that Sun has standardized on 
Mercurial for OpenSolaris ;-).

But, Mercurial supports multiple repositories, with the ability to merge 
patches, push and pull patches between them.  It directly supports 
change sets, is very fast, and seems to be the the most sophisticated of 
the current source control offerings - with the possible exception of 
git.  Unlike git, the command set is fairly CVS-like.  All updates are 
transactional - either the whole change set is committed, or none of it 
- regardless of network problems, or crashes.

Mercurial's on-disk data structures seem to be done really right.  To 
extract a version containing 'n' bytes, they'll never have to read more 
2*n bytes off disk - no matter what the history.

Repository files are only appended to - never modified or replaced.  So, 
even with bugs in the code or running out of disk space, they should 
never damage old versions of the code.


-- 
     Alan Robertson <alanr at unix.sh>

"Openness is the foundation and preservative of friendship...  Let me 
claim from you at all times your undisguised opinions." - William 
Wilberforce


More information about the Linux-HA-Dev mailing list