SVN conversion questions
Jeff Squyres
jsquyres at cisco.com
Mon Mar 24 10:42:37 CDT 2008
Greetings, and thanks for all the work on Mercurial!
The Open MPI project is considering changing away from Subversion and
we're evaluating a few other SCM's, to include Mercurial. We have a
goodly-sized SVN repo; we're almost up to r18000 in our SVN repo,
spanning probably a few dozen committers -- a "du -sh" on the svnroot
shows about 450MB. We have the SVN-traditional /trunk, /tags, and /
branches trees in the repo, but we also have a few other top-level
directories:
- /tmp -- for short-lived branches (private)
- /tmp-public -- for short-lived public branches
- /vendor -- for 3rd party vendor imports (per the SVN 3rd party
import methodology)
In order to let our developers experiment with Mercurial, I did a
trial conversion of our SVN repository to Mercurial using the
"convert" extension (on the svnroot filesystem itself; not over
HTTP). After RTFM'ing a bit, I got it to work nicely. Woot!
However, I have a few questions about the resulting Mercurial
repository:
1. It looks like nothing outside of /trunk, /tags, and /branches was
imported. Is there a way to get it to import the other top-level dirs?
2. On the hg repo result, I see the following branches:
$ hg branches
default 12553:4c250886b062
v0.9 12552:85fe9937f2cc
v1.1 12427:2bdc7351f3ad
v1.2 12047:e9980d1705d9
v1.2lanl 11939:cc24fbaef002
v1.0 6437:8c89240a7697
v1.2.3 11937:809ed8576ae2 (inactive)
The v0.9, v1.0, v1.1, v1.2, and v1.2lanl branches are all expected.
But v1.2.3 is not. Specifically:
$ svn ls https://svn.open-mpi.org/svn/ompi/branches
v0.9/
v1.0/
v1.1/
v1.2/
v1.2lanl/
So why is v1.2.3 listed separately, and what does "(inactive)" mean?
2. Our layout in the /tags directory may be a bit unconventional -- we
have subdirs for each major release series' tags, like this:
$ svn ls https://svn.open-mpi.org/svn/ompi/tags
v1.0-series/
v1.1-series/
v1.2-series/
$ svn ls https://svn.open-mpi.org/svn/ompi/tags/v1.0-series
v1.0.0/
v1.0.1/
v1.0.2/
$ svn ls https://svn.open-mpi.org/svn/ompi/tags/v1.1-series
v1.1.0/
v1.1.1/
v1.1.2/
v1.1.3/
v1.1.4/
v1.1.5/
$ svn ls https://svn.open-mpi.org/svn/ompi/tags/v1.2-series
v1.2.0/
v1.2.1/
v1.2.2/
v1.2.3/
v1.2.4/
v1.2.5/
But the hg convert extension still managed to pick up some of the tags:
$ hg tags
tip 12553:4c250886b062
v1.2.5 12026:983af2eb8dc1
v1.2.4 11996:38355f2966f5
v1.2.2 11910:bfff71e6d781
v1.2.1 11892:8121aceeda27
v1.2.0 11844:5f785b73c205
How do I get it to pick up the rest of the tags? Or since we're using
an unconventional tags layout, do I need to go add the tags manually
after the conversion? There's only a few, so it's not a huge deal to
do them manually, but I thought I'd ask anyway. :-)
If it helps, I put the stdout/stderr from running "hg -v --debug
convert ..." here (I didn't attach because even bzip'ed, it's still
700k+):
http://www.open-mpi.org/~jsquyres/unofficial/hg-convert-output.txt.bz2
Thanks!
--
Jeff Squyres
Cisco Systems
More information about the Mercurial
mailing list