[Mailman-Developers] Should we move to Bazaar?
Stephen J. Turnbull
turnbull at sk.tsukuba.ac.jp
Sat May 5 18:49:22 CEST 2007
[Mike -- I'll get back to you on this, but wanted make sure I pinged
you before I forget ....]
Barry Warsaw writes:
> On May 4, 2007, at 2:21 PM, Stephen J. Turnbull wrote:
> > I'll take svn2hg via Tailor, since that's what I'm using anyway for
> > XEmacs.
>
> Cool thanks. I'd love to see what you come up with.
OK, I'm 20% through (~svn rev 1500) and it's after 1am, and tomorrow's
Sunday/family day, so I'm going to jump the gun a bit and hope it does
finish and give me a repo. Report:
I'm now a lot less happy with Mercurial than I was a day ago.
1. Mercurial tracks only files directly, and represents directories
in metadata somehow, apparently ad hoc, and buggily. Operations
it handles fine with files cause exceptions leading to abort with
directories.
2. This resulted in a situation (at svn rev 745) where the
mailman/cgi directory was removed. hg proceeded to throw a
mercurial.util.Abort exception when asked to commit the deletion
to the repo, the exception propagated back up to tailor, which
then does abort.
I worked around by trapping that particular case and assuming that
any Abort at that point was due to file not found.
3. In the process of analyzing and patching, it became apparent that
Mercurial basically just terminates on such unexpected conditions,
because Abort was the only exception I found in use! (Granted,
this is pretty high-level/ui-oriented stuff, the module is called
commands.py. In a UI asking the user to try again is not that
unreasonable.)
Worse, the Abort exception takes an error message as an attribute,
but translates it via gettext *at initialization*! So there's no
way to reliably catch these exceptions, differentiating on the
error message. :-(
4. Tailor logs the svn log message, but the Mercurial repo's "short
summaries" just cite the svn rev no. It's possible to get the
whole commit message with "hg log -v", but this basically makes
the short summary useless. More hacking needed ....
Mercurial still seems like a fine dvcs---obviously these problems
don't affect ordinary use. But it would seem risky to extensible or
embed.
(BTW, it's 1:36 and I'm up to rev 3890, about halfway. Go, Tailor, go!)
¡Buenas noches!
More information about the Mailman-Developers
mailing list