[Python-Dev] Mercurial?

Nick Coghlan ncoghlan at gmail.com
Mon Apr 6 13:36:14 CEST 2009

Alexandre Vassalotti wrote:
> On Mon, Apr 6, 2009 at 12:20 AM, Aahz <aahz at pythoncraft.com> wrote:
>> How difficult would it be to change the decision later?  That is, how
>> about starting with a CVS-style system and maybe switch to kernel-style
>> once people get comfortable with Hg?
> I believe it would be fairly easy. It would be a matter of declaring a
> volunteer to maintain the main repositories and ask core developers to
> avoid committing directly to them.

I think that would be the way to go then (i.e. start with a fairly
centralised workflow, and then look at adjusting to something more
decentralised later)*.


*I actually had an interesting off-list discussion with Steve Turnbull
regarding how well the 3 most popular DVCS tools supported centralised
and decentralised workflows (or rather, how their advocates evangelise
them in that respect). This is relevant when pitching a DVCS to people
like me that really only have experience working with a centralised
repository model like CVS or SVN.

My guess was that Bazaar anchored the "centralised" end of the DVCS
scale by letting users avoid caring about the underlying acyclic graph,
while Git was solidly down the "decentralised" end with users expected
to be fully aware of and comfortable with the graph. Mercurial appeared
to be somewhere in the middle, as it allowed you to avoid caring about
the graph most of the time, but still provided tools to manipulate it
when you needed to.

That makes Bazaar easy to pitch conceptually to someone like me ("you
can use it just like you use SVN, only with much better merging and
offline support"), and Git a tough sell ("umm, yeah, you really think
about version control all wrong... we're going to have to fix that
before Git makes much sense to you"). Mercurial appears to best allow
the sales pitch to be tailored to the target audience (in this case, a
group including a lot of people with a background predominantly
involving centralised version control tools).

That's just a subjective impression formed from reading what other
people have written *about* the various tools, rather than anything
based on my own experience using them, so you may want to investigate
the location of the nearest salt mine before taking it too seriously :)

Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list