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