The Samba-Bugzilla – Bug 5554
File has vanished for files with foreign/unicode characters
Last modified: 2008-08-01 21:40:15 UTC
I am using rsync inside cygwin to transfer files from my old PC to my new PC. I have mapped the old PC's shares to drive letters, and then within cygwin I am running the following command:
rsync -av /cygdrive/z/ /cygdrive/e/
Where z is the mapped drive, and e is the local drive where I'm copying the files to.
Now I've copied ~500GB of files with this command without a problem, however a few files refuse to be transfer always failing with the error: "file has vanished".
The remote drive is not being altered, and both computers have synced clocks. One thing I notice is that the file names always have foreign/Unicode characters in them. The output I receive in the cygwin console is this:
file has vanished: "/cygdrive/z/mp3/A/Apocalyptica/Reflections/06 - Cohkka.mp3"
file has vanished: "/cygdrive/z/mp3/D/Dir en grey/six Ugly/06 - Byo??Shin [seconddeep].mp3"
file has vanished: "/cygdrive/z/mp3/F/FinnTroll/Nattfodd/Finntroll_-_Nattf?dd-ba
file has vanished: "/cygdrive/z/mp3/F/FinnTroll/Nattfodd/Finntroll_-_Nattf?dd-fr
However the actual file names are displayed differently in explorer to the rsync print outs:
"Z:\mp3\A\Apocalyptica\Reflections\06 - Čohkka.mp3" (mark above the C)
"Z:\mp3\D\Dir en grey\six Ugly\06 - Byo｢｣Shin [seconddeep].mp3" (funny symbols between the "Byo" and "Shin"
"Z:\mp3\F\FinnTroll\Nattfodd\Finntroll_-_Nattfцdd-back.jpg" (Square looking u in Nattfudd)
Some foreign characters do work, for example in the same Apocalyptica\Reflections directory there is "10 - Cortége.mp3" (accent on the e)
I'm unsure if this is a Rsync bug, or a cygwin bug. Both file systems are NTFS, and both machines are running Windows XP. The Cygwin was freshly installed yesterday with nothing altered except to add rsync.
I hope this is a real bug that can easily be fixed. Until then I can easily copy the few files which rsync fails at.
This has been discussed before when MS Windows lies to rsync and gives it a filename that it can't use to open the file:
There is apparently a way to tell MS Windows to stop the lies, and a search of the cygwin forum or the rsync mail archives should help to turn up the right incantation.