[crossfire] crossfire source code control systems

Lalo Martins lalo.martins at gmail.com
Fri Sep 1 08:35:17 CDT 2006


In doing the homework for my vote, I spent my free time in the the last
two days learning mercurial.  I'm quite impressed by it in some accounts,
but I guess I'm sticking to bzr.  Here are my findings, if anyone's
interested.

Main shortcomings of bazaar

- Slow over network.  Can be solved as a temporary measure by a plugin
that I can write in about 10 hours and I plan to do so tomorrow.

- Slow locally.  Can't be solved by plugins.

Main shortcomings of mercurial

- Poor support for file renaming and moving; this mean merging my pupland
work wouldn't be any bit less painful on hg than cvs.  Can't be solved by
extensions.

- Uses three-way merge, as opposed to bzr's weave merge ("codeville"
style merge).  This means we'd spend more time resolving merges manually. 
Can't be solved by extensions (it seems).

- Local branches don't share storage.  Since hg best practises encourage
you to keep many branches around, that means you'll soon have a few
gigabytes of arches and maps storage lying around.  Can't be solved by
extensions (it seems).

The bottom line here is that both bzr shortcomings are being worked on;
from the hg shortcomings, only one is recognised as such, and work on it
is deferred till after 1.0.  Also, there are at least two approaches for a
temporary solution to one bzr problem, and the other one becomes much less
troublesome if you use shared storage (bzr help init-repo).

So while I think mercurial is a solid option and will be getting my second
choice, I'm still sticking to bzr as first choice.  As an exercise, I'll
try one of the approaches for a fast-network-transaction plugin (I tried
the other one earlier this week and it turned out more complicated than I
thought).  I'll let you know how it turns out.

best,
                                               Lalo Martins
--
      So many of our dreams at first seem impossible,
       then they seem improbable, and then, when we
       summon the will, they soon become inevitable.
--
personal:                              http://www.laranja.org/
technical:                    http://lalo.revisioncontrol.net/
GNU: never give up freedom                 http://www.gnu.org/





More information about the crossfire mailing list