case folding collision abort

Ross rossgk at gmail.com
Sat May 30 12:33:11 CDT 2009


Hello,

I'm a bit new to this, so I might be asking something obvious.   I  
have a case collision - and I think I understand now why case-folding  
collision aborts happens.

I've even found a few explanations of how to fix it with the  
interesting debugsetparents and debugrebuildstate commands I haven't  
seen before... (for which I can't seem to find any references in the  
hgbook or anywhere else)

Anyway, I don't totally understand what happens in the repair  
scenarios, mostly at the end.  For example, there's a good example  
here:  http://kdbdallas.com/category/mercurial/  the guts of which are:

    1. hg clone https://username@myrepo-location.com/hg/index.cgi/ 
MyProgram
    2. cd MyProgram
    3. hg debugsetparents 11 (the revision number you need to fix)
    4. hg debugrebuildstate
    5. hg rm -A MyFile.m (mark missing file as deleted)
    6. hg ci -m “fix case collision”
    7. hg manifest tip   (confirm that the collision is gone)
    8. cd ..
    9. rm -rf MyProgram
   10. hg clone https://username@myrepo-location.com/hg/index.cgi/ 
MyProgram

To quickly summarize, he clones the troublesome repo, does fix-up  
stuff, then it appears that steps 8 and 9 just delete the cloned  
directory with all the fixes we made, and we clone a fresh copy of  
the same troublesome repo.  Maybe I'm confused. Step 6 isn't checking  
back into the original repo, but rather our local clone which we then  
delete, no?

But maybe that's just localized issue - So more generally, my  
question is, once I've cloned, then fixed my repo, how should I  
replace or update the original troublesome repo with the fixed one?

Probably a simple answer, but I'm green enough at this that it's the  
simple stuff that escapes me, it seems. :)

Thanks in advance,
Ross.




More information about the Mercurial mailing list