On Jul 30, 2010, at 03:30, Bert Huijben wrote:

> All 'svn' operations normalize the casing of passed filenames to their
> on-disk casing on case insensitive systems. (I'm not 100% sure if this works
> this way on Mac/OS, but it does on Windows
> 
> So if there is some 'aLIGN.c' on disk and you pass 'svn rm align.c', 'svn'
> translates that to 'svn rm aLIGN.c' before it passes it into the library. So
> the real handler of the delete never sees that you passed different paths.
> (This is done in svn_client_args_to_target_array() ->
> svn_opt__arg_canonicalize_path())

No, none of that appears to happen, at least not on my Mac. Take a look at this 
transcript of Subversion 1.6.12 on Mac OS X 10.6.4 x86_64 on a case-insensitive 
journaled Mac OS X Extended (HFS+) filesystem:


$ svnadmin create repo
$ svn co file://$(pwd)/repo wc
Checked out revision 0.
$ touch wc/file
$ svn add wc/FiLe
A         wc/FiLe
$ svn ci -m "" wc
Adding         wc/FiLe
Transmitting file data .
Committed revision 1.
$ svn co file://$(pwd)/repo wc2
A    wc2/FiLe
Checked out revision 1.
$ ls wc/ wc2/
wc/:
file

wc2/:
FiLe
$ svn rm wc2/file
$ svn st wc2/
!       wc2/FiLe
$ 




Reply via email to