bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mv can't change filename case on case-insensitive file systems


From: Jonathan Lennox
Subject: Re: mv can't change filename case on case-insensitive file systems
Date: Wed, 15 Aug 2007 18:51:38 -0400

On Wednesday, August 15 2007, "Eric Blake" wrote to "Jonathan Lennox, 
address@hidden" saying:

> > (I reported this issue on the bug tracker on Savannah, but it looks like
> > sending bug reports to this mailing list is preferred, so I'm repeating it
> > here.)
> 
> The bug-tracker forwards all edits to this list, so you just repeated
> yourself.

Yes, I saw that on the web archive shortly after I sent the second message.
Sorry about that.

> Mac HFS is the other biggest case-preserving
> case-insensitive system out there; can anyone comment on
> whether rename(2) is a no-op or changes case when given two
> case-wise distinct spellings of the same file?

On Darwin, rename(2) does indeed change case given two spellings of the same
file:

$ uname -a
Darwin woody.local 8.10.1 Darwin Kernel Version 8.10.1: Wed May 23 16:33:00
PDT 2007; root:xnu-792.22.5~1/RELEASE_I386 i386 i386
$ touch foo
$ echo *oo
foo
$ perl -e 'rename "foo", "Foo" or die ($!)'
$ echo *oo
Foo

Darwin's mv(1) code also has special-case code added to handle case-renaming
a directory, to force "mv foo Foo" in that case to be the equivalent of
coreutils mv's "mv -T foo Foo".  The code (BSD licensed) is at
<http://www.opensource.apple.com/darwinsource/10.4.9.x86/file_cmds-116.10/mv/mv.c>;
you might need to register for an Apple ID.

-- 
Jonathan Lennox
lennox at cs dot columbia dot edu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]