Case folding collision in Mercurial (WinXP)
Frank Hagenson
frank.hagenson at mallontechnology.com
Tue Jun 24 03:59:29 CDT 2008
Dan,
I managed to "fix" a case collision by removing the file I didn't want.
You could try
hg remove restaurants/Calypsoflavors/ObfIdMap.txt
hg commit
This won't fix the revision with the collision, but it may allow you to
move on.
I am a newbie as well, so there may be a better way than this.
You could maybe test this on a copy of the repo to see if it works.
Regards,
Frank.
-----Original Message-----
From: mercurial-bounces at selenic.com
[mailto:mercurial-bounces at selenic.com] On Behalf Of Dan Craft
Sent: 24 June 2008 02:11
To: mercurial at selenic.com
Subject: Case folding collision in Mercurial (WinXP)
Summary: Mercurial introduced a case collision during a commit for a
directory whose capitalization I've never changed.
(I know--not possible; and yet...)
Mercurial (0.9.5) is reporting
"abort: case-folding collision between
restaurants/Calypsoflavors/ObfIdMap.txt and
restaurants/CalypsoFlavors/ObfIdMap.txt"
during a revert. Under .hg/store/data/restaurants, it has, indeed,
established two directories "_calypso_flavors" and "_calypsoflavors",
representing "CalypsoFlavors" and "Calypsoflavors". And it has put
"_obf_id_map.txt.i" files in both of them.
I am on WinXP. I have not changed the capitalization of the
CalypsoFlavors directory. (It's been around long before I even started
using Mercurial.) I have only this single machine, so there is no
interaction with any other filesys. I have had difficulty using
Mercurial from within NetBeans so now use it just outside. The above
conflict may have resulted from either place.
In the hg log, the first (and only) mention of the [incorrectly
capitalized] "Calypsoflavors" dir is during a commit on 5/23/08, and the
.hg/store/data/restaurants/_calypsoflavors dir has a mod date of 5/23.
The working dir is currently "CalypsoFlavors", as it has always been.
All other references in hg log to that directory are "CalypsoFlavors".
The revert I was attempting to do was at a place in the dir hierarchy
completely distinct from the case collision, though in the same
repository and workspace. It appears the collision prohibits me from
accessing elements beyond just the collision-involved sub-tree.
I searched both Selenic.com and the mailing list archives at nabble, but
didn't find anything I could tell was an answer here. It mostly seemed
cross-filesys, OS X, or cases where people had renamed files. If I
missed one, please direct me.
How do I fix this? I am a Mercurial newbie, though I have used other
vers control systems extensively. (Impressed by the elegant design as
described in the red book.) Please help me with sufficient details for
such a beginner.
There are only a handful of files stored under the [incorrect]
_calypsoflavors dir. They are also stored under _calypso_flavors (all
had been committed prior to the 5/23 one). I don't know anything about
the interdependencies of data beneath .hg/, and imagine I could quite
quickly make a mess if I started manually changing things there.
The 5/23 commit is the last one I did on this repository. I have
changed numerous committed files since then, so a simple rollback would
lose the 5/23 checkpoint of those files. And, since revert fails, I
can't get at that version of those files until I can patch this
collision.
Thanks,
--Dan
_______________________________________________
Mercurial mailing list
Mercurial at selenic.com
http://selenic.com/mailman/listinfo/mercurial
More information about the Mercurial
mailing list