On Windows, it is currently (before Mercurial 1.1) possible to introduce case collisions in the repo that prevent you from checking out a repository.

One way to repair such a repository is to check it out on a case-sensitive Unix system, remove the problematic file, and commit it again.

If that's not possible, you can do the following:

At this point, Mercurial will think you have the bad revision checked out and all the files are missing (status '!'). To fix the repo, we simply have to do:

Now hg status should show the troublesome file in state 'R' and all other files in state '!'. Now we can check in our fix:

To get all our files back, we just check out again:

Or you can install the CaseFoldExtension and use this:

Reference: http://selenic.com/pipermail/mercurial/2008-June/019921.html


FixingCaseCollisions (last edited 2012-06-29 14:46:36 by 212)