GSoC: hg and git interoperability (status report)

Abderrahim Kitouni a.kitouni at gmail.com
Tue Jun 23 16:45:17 CDT 2009


Hi all,

Another week, another status update.

Today I finished most of the refactoring I intended to do.
Now, I think it feels intuitive to someone who knows hg well, and has already
tried git. I'll try to explain here what it does (I'll update the doc later),
any suggestion on how to make it better are welcome.

When cloning/pulling, one gets a bookmark for each branch in the git
repository and, if the remote repository is in the paths section of hgrc, a
local tag <remote_name>/<branch> (Q: should this be configurable? should
'default' be replaced by 'origin' in these tags to feel more like git?)

When pulling, the bookmarks for already existing branches are moved to
the new head if the branch hasn't diverged.

When pushing, a diverging branch causes a warning and isn't pushed, but the
rest is pushed normally (even new branches).

Next week, I plan to add tests and update documentation (and fix a bug related
to lossless conversion).

My branch can be found at http://bitbucket.org/abderrahim/hg-git/

Regards,
Abderrahim


More information about the Mercurial-devel mailing list