Heechee, the Hg->SVN gateway

Requirements: Mercurial/Dulwich, Werkzeug, lxml

What does it do?

Heechee exposes a Mercurial/Git repository as a Subversion repository, allowing people with subversion to checkout your project (and hopefully, in the future, commit to it as well) directly, without the need to actually run that DVCS.


Not everyone likes Mercurial (or git), or has got round to using it yet. I develop projects using it, but it would be nice to let my fellow coders who are either stuck in the past or being held there by management the opportunity to easily checkout bits of my project. The main use I see is for svn:externals.

Also, if they were feeling sick (as they probably do), Git users could, in theory, use git-svn to commit to a mercurial project, but just thinking about that makes my head hurt.

How do I run it?


python -m heechee.webdav.__init__ -t hg /path/to/repo

that will start up a webserver on localhost:8080 that serves the repository as a svn repo. Try serving heechee's own repo:

python -m heechee.webdav.__init__ -t hg .


Make sure you have nothing running on port 8080, and run:

python -m heechee.tests.__init__


Mercurial should have full support for all SVN operations excluding merging. Git has limited read-only support.