On Sep 23 21:24, Eric Blake wrote: > On 08/15/2014 09:16 AM, Corinna Vinschen wrote: > > Sorry for taking more than a month to get to the bottom of this one. > But I have good news: > > >> $ touch a.exe > >> $ ln -s a.exe b.exe > >> $ ls -l > >> total 1 > >> -rw-r--r-- 1 marco Administrators 0 Aug 15 16:41 a.exe > >> lrwxrwxrwx 1 marco Administrators 5 Aug 15 16:41 b.exe -> a.exe > >> > >> $ mv b.exe b > >> $ ls -l > >> total 0 > >> -rw-r--r-- 1 marco Administrators 0 Aug 15 16:41 a.exe > > > > Looks like a bug in coreutils 8.23. This works fine in coreutils-8.15. > > Actually, this was an intentional upstream change made by coreutils > 8.16, but which has a negative effect on cygwin .exe magic. The real > reason for the change is this upstream testcase: > > $ ln -s nowhere a > $ ln a b > $ mv a b > $ ls [ab] > b > > In coreutils 8.15, this mistakenly errored out instead of deleting 'a'. > But the upstream fix for this needs additional cygwin magic to realize > that when 'b' and 'b.exe' are both symlinks and have the same inode, > then it is the same as a case change, and NOT a case of hard link > renames. I'm cooking up the patch now.
Seems to work fine in 8.23-3. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpWLXodo12c3.pgp
Description: PGP signature