GSoC: hg and git interoperability (status report)

Abderrahim Kitouni a.kitouni at
Fri Jul 3 15:44:48 CDT 2009

Hi all,

So what I have done during this week? (well, it's been more than a week)
I added some tests and tried to extend others (and of course fixed the bugs
that popped out). Now the tests coverage are over 80%, there is still to do but
I feel it's going well. I'll continue doing this for the next few days.

I've also created an account on github to tell everyone about my branch :-p
(actually, I was responding to issues and pointing to my fixes).

I've also started porting hg-git from the heavily-patched, local fork of
dulwich to the upstream version (this wasn't very difficult as I got to know
the api of dulwich better while I was hacking on my own hg-git), it still
needs a small (2 new functions) patch to dulwich, I'll try to discuss with
dulwich developers if they should be added to dulwich or to hg-git.

I also played a little with hg 1.3 (well maybe that belongs in my blog,
but...), namely the share extension and subrepos. In spite of the big warning,
I managed to qrefresh a checked out revision and couldn't 'hg update' anymore
and didn't find a command to fix this. I finally got out by deleting dirstate,
but maybe we should find a way to help people that use experimental software
and manage to shoot themselves in the foot.
As for the subrepos, Matt mentioned that he wants to have git or subversion
subrepos. Using a trivial (but I'm not sure it's ok) patch I could clone a git
subrepo using hg-git (and I believe hgsubversion should work as well), I'll be
sending it shortly.

Ok, it turns out to be a long mail.

I think that hg-git is now somewhat ready for wider testing (I did a mistake
handling tags, I'll try to fix it soon, that's issue 3), in order to get a
bigger sample of git weirdness (I already got a tag without date, issue 2).
I'm starting to hate git for these inconsistencies. As always, my latest code
can be found at :


More information about the Mercurial-devel mailing list