Time to Leave Monotone Behind?

Luke Schierer 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.
> <snip>

> 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
>    Monotone).
>  * 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,
>    obviously.

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:
>      http://hg.guifications.org/pidgin-mtn-conv-files/
>  * First pass conversion (crude conversion with incomplete mappings):
>      http://hg.guifications.org/pidgin-firstpass/
>  * First pass repo above with completed mappings (I just ran hg convert
>    on the firstpass repo with maps in place):
>      http://hg.guifications.org/pidgin-firstpass-completedmaps/
> John
> _______________________________________________
> Devel mailing list
> Devel at pidgin.im
> http://pidgin.im/cgi-bin/mailman/listinfo/devel

More information about the Devel mailing list