filenames containing ::, rsync and "file has vanished", ext2fsd being used

reikred@gmail.com reikred@gmail.com
Thu Jul 3 17:47:00 GMT 2008


Larry Hall (Cygwin) wrote:
> reikred@gmail.com wrote:
>> I have a weird problem that I cannot quite wrap my head around.
>>
>> I'm in cygwin trying to rsync from /e/ to /f/,  using
>>
>> rsync -Dogx -uav --delete /e/ /f/
>>
>> I get a LOT of error messages of the type
>>
>> file has vanished: "/e/usr/share/man/man3/Glib::Error.3pm.gz"
>> file has vanished: "/e/usr/share/man/man3/Gtk2::CodeGen.3pm.gz"
>> file has vanished: "/e/usr/share/man/man3/Gtk2::Entry.3pm.gz"
>>
>> If I try to
>>
>> ls /e/usr/share/man/man3/
>>
>> then I *also* get lots of error messages that files such as the above
>> "do not exist". But of course they do exist, othwerwise ls would not
>> know that it should be complaining about them :). There is a whole
>> bunch of other files, in the same dir, NOT containing "::" in their 
>> names that is not being complained about.
>>
>> What gives? It may be relevant that /e and /f are ext2 partitions that
>> are mounted using the ext2fsd package.
>>
>> I do not think this is the "rsync unicode , file has vanished" problem
>> that I have read about on the web, since :: is not unicode.
>>
>> Does anyone want to suggest a way to get around this? I think since
>> ls exhibits the same problem it should not be rsync's fault, but it 
>> may possibly relate to ext2fsd rather than cygwin.
> 
> You're certainly adding some interesting variables with ext2fsd involved,
> particularly when it comes to permissions.  But in this case, ':' is a
> special character in Windows so you're going to see trouble regardless
> of your underlying file-system and driver.  The moral of the story is
> don't try to do things on Windows that it's not good at. ;-)
> 

Some more information: If I look at /e/usr/share/man/man3/ with 
Windows XP (File) Explorer, the :: files are in fact visible, but I 
cannot operate on them (for example, copy and paste) without getting 
error messages. So Ext2fsd is serving up the files, but some other 
part of the system is balking at the names.

I guess /bin/ls is similar in the sense that it "sees" the file, but 
when it tries to list the name, it runs into some restriction.

I wish there was a way to disable the restriction, maybe even just 
temporarily or on a per-program basis...





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list