The solution was suggested by the following from Matt Mackall at Selenic:
> Here's a little trick I came up with:
>
> - make a repo with 'a' and 'A' on Linux
> - hg clone -U to Windows (actually Wine in my case)
> - cd <repo>
> - hg debugsetparents <bad revision>
> - hg debugrebuildstate
> - hg rm -A A # mark missing file as deleted
> - hg ci -m"fix case collision"
> - hg manifest tip # confirm that the collision is gone
> - hg co -C tip # get a clean checkout
>
> The trick is to use debugsetparents and debugrebuildstate to get a
> working directory that thinks its at the revision we can't check out.
> Then we record a deletion for the unwanted file. When we commit, commit
> will only record the deletion we made via hg rm.
See the thread "Case folding collision in Mercurial (WinXP)" at http://www.selenic.com/pip
Please close this question (in case I can't accept this comment as the solution). Thanks.
Main Topics
Browse All Topics





by: DCraft99Posted on 2008-06-25 at 12:10:20ID: 21868890
I've also posted on the Mercurial mailing list at http://Selenic.com/mercuri al, and am getting some responses there. I'll post pointers or a solution here if that works out. --Dan