Mercurial case-folding BIG BUG
Dustin Sallings
dustin at spy.net
Sun Feb 3 22:24:19 CST 2008
On Feb 3, 2008, at 14:14, Filippo Pedron wrote:
>> If you disable the check, then what happens when the collision
>> occurs?
>>
> I understand that this is not the solution but only an emergency
> solution.
I don't see how it makes anything better at all.
>> If your filesystem can't tell the difference between FOO.TXT
>> and foo.txt, how should mercurial (or any revision control system)
>> apply changes to one or the other (or Foo.Txt)?
>>
> I agree with you and I understand that my example was too much
> simple to explain the problem. Follow this other (reds are added/
> modified lines):
[stuff]
> > ren foo.txt FOO.TXT
> > hg add FOO.TXT
Does ``ren'' mean rename? If so, that can't possibly be what you
intended to do.
From mercurial's perspective, all you did was add (see the ``hg
add'') a new file with the same name as another one, but in a
different case.
Perhaps you wanted to ``hg mv'' or at the very least ``hg rm -A
foo.txt''
What you are doing here is specifically configuring the tool to
attempt to do something your filesystem cannot handle. Mercurial now
sees a foo.txt and a FOO.txt. Your OS can't tell the difference.
Mercurial is trying to tell you that. You should listen to it (and
don't just go changing mercurial to ignore important warnings).
--
Dustin Sallings
More information about the Mercurial
mailing list