Subject: [PLUGIN][RFC] read only support for mercurial repositories
Date: Thursday 1st June 2006 06:32:44 UTC (over 12 years ago)
I thought a good way to prepare for the meeting we're having in London would be to do something with the hg codebase, something that would require me to look at a reasonable spread of it, come to detailed grips with the design etc... So I taught bzr how to commit to an hg tree, and how to pull from an hg branch. The plugin for this is at http://people.ubuntu.com/~robertc/baz2.0/plugins/hg/trunk. You'll need my non-dotbzr-control-dir patch for bzr.dev for this to work. (see my prior email, or merge in http://people.ubuntu.com/~robertc/baz2.0/non-bzr-control-dirs). I wouldn't call this complete by any stretch, but it should happy suck all the data out of an hg repository. (It does not yet support branch from an hg url, you need to do 'bzr init && bzr pull URL') I've built this against hg 0.9, which isn't in dapper - if you download their tarball from http://www.selenic.com/mercurial/release/mercurial-0.9.tar.gz and unpack it, then do an inplace build : 'python setup.py build_ext -i' you can use it without installing by adding the dir to your PYTHONPATH. I.e. I run bzr with this as "PYTHONPATH=../mercurial-0.9 ~/source/baz/hg-repo/bzr" Currently it does not support http transports to pull from. I expect this is just a 'small matter of code' - the hard part, converting the data model on the fly - is done for manifests -> inventories, and file revisions -> inventory entry.revision fields. Enjoy! Cheers, Rob -- GPG key available at: <http://www.robertcollins.net/keys.txt>.