[issue3047] addremove can introduce case collisions despite setting ui.portablefilenames

John Gee bugs at mercurial.selenic.com
Fri Oct 14 05:46:10 CDT 2011


New submission from John Gee <mercurialbts_j at ruru.gen.nz>:

I am running hg on Mac OS X (on a case insensitive volume) sharing a 
repository with Windows users. I set ui.portablefilenames to abort to prevent 
Bad Things from happening when ill-behaved tools modify the case of a 
filename (I am looking at you Xcode).

The ui.portablefilenames does protect add but not addremove. Example commands 
alone, and output mixed with commands.


hg --version
hg showconfig | grep portable
mkdir repo
cd repo
hg init
touch a
hg add
hg commit -m "lowercase"
mv a A
hg status
hg add A
hg add
hg addremove
hg commit -m oops
hg update


$ hg --version
Mercurial Distributed SCM (version 1.9.2+20110831)
(see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2011 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ hg showconfig | grep portable
ui.portablefilenames=abort
$ mkdir repo
$ cd repo
$ hg init
$ touch a
$ hg add
adding a
$ hg commit -m "lowercase"
$ mv a A
$ hg status
? A
$ hg add A
abort: possible case-folding collision for A
$ hg add
abort: possible case-folding collision for A
$ hg addremove
adding A
$ hg commit -m oops
$ hg update
abort: case-folding collision between a and A

----------
messages: 17636
nosy: shadowspawn
priority: bug
status: unread
title: addremove can introduce case collisions despite setting ui.portablefilenames

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue3047>
____________________________________________________


More information about the Mercurial-devel mailing list