Time to Leave Monotone Behind?
lschiere at pidgin.im
Sat Jan 15 16:22:28 EST 2011
On Jan 15, 2011, at 13:32 EST, John Bailey wrote:
> Hi, all,
> For almost four years now, we've been using Monotone as our source
> repository. Over that time, it's proven itself to work very well for
> us, I think. However, there have always been some annoyances with it.
> As for my specific desire to use Mercurial, here are a few things we
> gain (git may offer some or all of these as well, but I'm not
> particularly fond of git, as we all know):
> * Significantly faster initial pulls (10 minutes vs 45 minutes for me)
> * Significant improvements in speed for essentially all operations
> * Trac integration via trac-mercurial plugin if we keep the one
> repository model.
> * Use of hgweb if we use a multi-repository model, with trac
> "integration" through similar means to what Adium has done
> * Ability to use "subrepos"--that is, we could do some creative things
> like split translations into a separate repository that translators
> have write access to but have that repository pulled into our source
> tree for us with the use of the appropriate hg extensions.
> * Ability to use stock buildbot for build testing of pushed revisions
> (although if we want to use buildbot on something other than the
> current im.pidgin.pidgin we need a multi-repo model, as buildbot
> doesn't handle hg branches that well).
> * Ability for potential contributors to clone the repository and host
> it somewhere like bitbucket to make incremental improvements that we
> can later review and incorporate upstream if we wish (the point here
> is that a workflow like this is easier in Mercurial than it is in
> * The Adium guys can "fork" our repo and include it in their tree as a
> subrepo if they want. The current Monotone process is painful for
> them, and using git would be only slightly less painful due to the
> increased speed.
> * We can add additional features to Mercurial as extensions if we need
> or want to. This is relatively trivial since it's all python.
> * SSH-based authentication without needing to give every user their
> own shell account using the mercurial-server package. Using this
> package we can control write permissions to specific repositories in
> a multi-repo model, and we can control who is allowed to create
> repositories on the server. This is all done using SSH public keys,
Most if not all of these advantages are available with git. I know that John doesn't like git, and his opinion holds more weight than mine a this point, but for what its worth, I prefer git to mercurial.
> What do you guys say?
> For reference, here are some items to consider:
> * Author and branch maps, migration script, etc:
> * First pass conversion (crude conversion with incomplete mappings):
> * First pass repo above with completed mappings (I just ran hg convert
> on the firstpass repo with maps in place):
> Devel mailing list
> Devel at pidgin.im
More information about the Devel