[Python-Dev] Mercurial? (original) (raw)

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)*.

Cheers, Nick.

*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