Fwd: rsync colon in filename to MSWin fails
kurt.buff at gmail.com
Mon Jun 8 19:20:33 UTC 2009
Dagnabbit! Meant to also send this to the list.
On Fri, Sep 19, 2008 at 10:28, Giorgos
Keramidas<keramida at ceid.upatras.gr> wrote:
> On Fri, 19 Sep 2008 13:37:50 +0100, Anton Shterenlikht <mexas at bristol.ac.uk> wrote:
>> I cannot trasfer a file with a colon via rsync to a Win box.
>> I've rsync-3.0.4 on the FBSD (sending side) and rsync-2.6.9
>> under cygwin on Win (receiving side). I'm not sure what the
>> error message means:
>> % rsync ./http:__en.wikipedia.org_favicon.ico mexas at xxx.xxx.xxx.xxx:
>> rsync: rename "/cygdrive/c/Documents and Settings/mexas/My Documents/work/.http:__en.wikipedia.org_favicon.ico.8dBX2K" -> "http:__en.wikipedia.org_favicon.ico": No such file or directory (2)
>> rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1040) [sender=3.0.4]
>> Note the extra dot before the file name, and extra suffix at the
>> end. Is this the expected behaviour?
> Yes, this is the expected broken behavior of Windows. The ':' character
> cannot be used in a normal filename in Windows. The bug goes way back,
> when DOS developers chose to use ':' to denote 'drive names'.
>> However, to another FBSD box transfer is fine:
>> % rsync ./http:__en.wikipedia.org_favicon.ico mexas at zzz.zzz.zzz.zzz:
> UNIX only reserves '/' as the path separator (and in some cases the '\0'
> character for the end-of-fiename string marker). So the ':' character
> is valid for file names or directory names.
>> Is this something to do with Windows, or old rsync version on cygwin?
> Yes, it has to do with Windows.
It does indeed have to do with Windows - see this article:
However, there's another thing to know about the use of colons in file
names, and it's not simply to do with driver letters - NTFS has a
facility called Alternate Data Streams, which was implemented to
support Macintoshes, originally. See this article for a start:
More information about the freebsd-questions