hg convert failing on a repo with subrepos

Svein Seldal sveinse at seldal.com
Mon May 7 12:56:02 UTC 2018


Hi

I'm having a hg repo which I want to run hg convert on. The repo is 
using subrepos with references to repos from hg, svn and git and it has 
largefiles. hg convert fails if .hgsub* is included when running hg 
convert:

     hg convert -s hg tmp.1-hg -d hg tmp.2-hg --filemap file.map --config 
convert.hg.startrev=5

Attempt 1)  With empty file.map, the convertion fails with: "abort: 
data/.hgsubstate.i at 303030303030: no node!"

Attempt 2)  I don't really need the hg subrepos functionality intact, 
but I must retain the revision controlled files in order to recreate the 
specific subrepos manually if needed. I then rename the hgsub files:

     rename .hgsub .old.hgsub
     rename .hgsubstate .old.hgsubstate

Then it fails even earlier, with "abort: unable to convert merge commit 
since target parents do not merge cleanly". The file listed file failing 
has no relationship with .hgsub.

Attempt 3)  If I completely exclude the subrepo files, then it converts 
fine, but then again the information of the subrepos references are 
lost.

     exclude .hgsub
     exclude .hgsubstate

What can I do to fix or debug this issue? hg verify on a checked out 
clone does not complain on the repo, except for some old subrepos that 
aren't available any more. I'm running hg 4.5.3 from Ubuntu 18.04.


Best regards,
Svein


More information about the Mercurial mailing list