Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zmv another zsh gem



Christian Taylor wrote:

On Tuesday 15 February 2005 09:51, zzapper wrote:

In comp.editors I came across mmv and zmv
[...]
The case changers don't work on Cygwin because WinXP grumbles target &
source filename are the same!

Using mv to change the case of a filename doesn't work on any "caseless" file system like vfat, because both filenames refer to the same, existing file. Afaik POSIX compliance demands an error in that case. You'll have to do it in two steps.
That would make sense if cygwin were, in general, POSIX compliant and similarly if cygwin treated the mixed case file system as a mixed case file system.

That is, however, not the case. In fact cygwin is all over the map. If you have a file named Filename, and, say, do "vi file<tab>", Filename will not appear. Cygwin more or less wraps the file system in an attempt to make the observed behavior as close as possible to a typical UNIX case sensitive file system. This layer does many things that cannot be done in the native file system. For example, it maintains pseudo-permissions, and you cannot, say, do something like ./filename (to run it), unless it has the x pseudo-permission. It even does fake symbolic links.

I'm not saying it is worth the effort to muck around with the code to treat cygwin as a special case. I'm just pointing out that the reason is not because it violates POSIX, because cygwin is miles away from being POSIX compliant.

Christian Taylor

!DSPAM:4211dbf2255221178510702!



Messages sorted by: Reverse Date, Date, Thread, Author