views:

742

answers:

2

Due to lack of Mercurial support in several tools, and managerial oppression it has become necessary to convert several trial Mercurial repositories to Subversion in order to conform with the company standard.

Are there any tools or suggestions for how to achieve this without a loss of revision history and the like?

A: 

Tailor should be able to do what you want.

Mikael S
+5  A: 

The convert extension that ships with mercurial can use mercurial as a src and subversion as a dest.

hg convert --dest-type svn hgreponame svnreponame

Make sure to enable it in your .hgrc file.

If you want to keep using mercurial on the sly, then hgsubversion will allow you to do bidirectional sync.

Ry4an
this fails after 2 revisions with `abort: svn exited with status 256`
Matt Joiner
I've not used the svn dest stuff, but I have seen it change a lot lately on the mailing list. Make sure you're using the latest mercurial (1.4.1) and the latest swig bindings for the latest svn. Then start using some combination of --debug --traceback and maybe even strace.It may be necessary to start out with an entirely linear mercurial history, which is easily achieved with 'hg clone http://src -r tip'. I think I've heard that svn's repo format isn't up for storing mercurial merge revisions cleanly.
Ry4an
Just a further note on this, abortions were occurring due to file-system shortcomings of some kind (ntfs3g). Just keep trying.
Matt Joiner