[Bug 4199] New: Suggestion to reduce case-folding clashes on case-preserving, case-insensitive OS

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Thu Mar 20 09:52:02 CDT 2014


http://bz.selenic.com/show_bug.cgi?id=4199

          Priority: normal
            Bug ID: 4199
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: Suggestion to reduce case-folding clashes on
                    case-preserving, case-insensitive OS
          Severity: feature
    Classification: Unclassified
                OS: Windows
          Reporter: reggthims at gmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 2.9.1
         Component: Mercurial
           Product: Mercurial

I an running with TortoiseHg 2.11.1, Mercurial 2.9.1 on Windows 7. I recently
managed to get into a case-folding abort situation only using the rename
command. This took a long time to fix (build a linux system, get networking
running, etc.)

In my case, somehow the R(emove) operation got separated from the A(dd), so
when I committed, the committed branch had two files, in my case:
compiler/Engine.cpp and compiler/engine.cpp and the Working folder somehow had
R! compiler/Engine.cpp listed in the Working folder after the commit. I did not
notice this, everything built OK and passed tests, so I committed my change to
our central repo. I then continued working, making many more commits. Then
everyone else cannot update due to an Abort.

My suggestion is: Make commit abort if run on a case preserving, case
insensitive system, like Windows, and the commit would cause a case-folding
name collision. You might also consider a warning in a case-sensitive system as
this is likely to be an error.

TortiseHg (or Mercurial) already aborts if you try to Update or Merge a branch
with a case-folding collision (when it is too late, the damage is already
done), so why not prevent this happening.

This is a recurring problem for people using Windows exclusively, and very
difficult for them to fix. It would be really nice to reduce the instances of
it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list