[issue2947] Create option for case-insensitive repository format
Aaron Jensen
bugs at mercurial.selenic.com
Tue Aug 9 13:26:34 CDT 2011
New submission from Aaron Jensen <ajensen at webmd.net>:
We are constantly getting bitten by case-folding issues. While Mercurial has
made great strides to make these less common, we still encounter them. When
they happen, they are very painful. We're trying to write scripts we can use to
automatically fix the issue, but it can still take up to an hour. We've lost at
least a week of developer productivity to case-folding issues.
We are a Windows-only company and will *never* have to check anything out on a
case-sensitive file system. To use HELLO.txt and hello.txt are the same file.
We an option to get Mercurial to behave the same way. I would like to request
that an optional, internal repository format be created that does not try and
preserve case.
The underlying issue we continue to encounter is when a developer inadvertently
adds files with a case that doesn't match existing containers. For example,
let's say I have a Libraries folder where all our code is kept:
Libraries
+- LibraryA
+- LibraryB
A developer adds a new library, LibraryC, but fat-fingers the case of the top-
level folder, i.e.,
> hg add LIbraries/LibraryC
So now, internally, Mercurial thinks there are two separate Libraries folders,
Libraries and LIbraries. As developers clone the repository, some of them end
up with a Libraries folder and some, LIbraries. If one dev modifies a file
under LIbraries, and another dev modifies the same file under Libraries, when
one of them has to merge the other's changes, a case-folding collision occurs.
I would like Mercurial to not preserve case when a path already exists. In this
example, when a developer inadvertently fat-fingered the name of the name of the
Libraries folder as LIbraries, Mercurial should use the original case of
Libraries.
----------
messages: 17096
nosy: splatteredbits
priority: feature
status: unread
title: Create option for case-insensitive repository format
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2947>
____________________________________________________
More information about the Mercurial-devel
mailing list