hg convert failing on a repo with subrepos

Svein Seldal sveinse at seldal.com
Tue May 8 07:57:29 UTC 2018



The 2018-05-08 06:22, skrev Matt Harbison wrote:
>> 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.
> 
> I've seen weirdness with file map too.  I thought it was file drop
> related, but maybe it was a rename issue.
> 
> What are you trying to do with this conversion?

We're migrating our repos from in-house servers to bitbucket. So need to 
convert our largefile-enabled repo to an non-largefile repo. This 
function needs hg convert to un-largefile the repo. Secondly, we've 
realized that subrepos was a mistake, but I cannot and must not undo the 
linking to the subrepos. So we must retain the subrepo information 
stored, but it can well and good be just in text files not automatically 
recognized by hg.

>> 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.
> 
> I'm not sure if the missing subrepos would be a problem.  You may end
> up  having to write an extension that tweaks the default convert
> behavior.
> 
>     https://www.mercurial-scm.org/wiki/ConvertExtension#Customization

Yes, I'm prepared that this will be necessary, but I'm stuck at what hg 
convert is failing on. E.g. what asset I need to modify to get hg 
convert pass.


Best regards,
Svein



More information about the Mercurial mailing list