rsync colon in filename to MSWin fails

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Sep 19 17:28:57 UTC 2008


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.



More information about the freebsd-questions mailing list