SVN conversion questions

Patrick Mézard pmezard at
Mon Mar 24 12:46:51 CDT 2008

Jeff Squyres a écrit :
> Greetings, and thanks for all the work on Mercurial!


> 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?

Not yet.

I am tempted to add a way to specify exactly what branches are being converted. I am not sure where to put that yet, ideas are welcome. Maybe as a comma separated lists of svn paths (is comma allowed in svn paths ?). That would also enable support for deleted branches.

> 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
> v0.9/
> v1.0/
> v1.1/
> v1.2/
> v1.2lanl/
> So why is v1.2.3 listed separately, and what does "(inactive)" mean?

found parent of branch /branches/v1.2lanl at 15181: /tags/v1.2-series/v1.2.3
v1.2lanl is built on top of v1.2.3. It means the named branch "v1.2.3" has no head and is thus marked "(inactive)".

> 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
> v1.0-series/
> v1.1-series/
> v1.2-series/


> $ svn ls
> 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.  :-)

There are a couple of open bugs about tags, like:

It looks like there are also new bugs. For v1.2.3:
r15181 | timattox | 2007-06-22 21:19:00 +0200 (Ven, 22 jui 2007) | 1 line
Changed paths:
   A /tags/v1.2-series/v1.2.3 (from /branches/v1.2:15136)
This one should have worked because v1.2 branch was converted. r15136 not being a real change in v1.2 is likely to be the issue here.

Conclusion, there is some work to do but it's doable.

Patrick Mézard

More information about the Mercurial mailing list