[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