I have released two Cwrsync updates with Cygwin 1.7.0, which introduces many enhancements including longer pathnames and Unicode support in file names.
The list below shows some of the changes related to rsync:
- Windows 95, 98 and Me are not supported anymore. The new DLL will not run on any of these systems.
- Mount points are no longer stored in the registry. Use /etc/fstab and /etc/fstab.d/$USER instead. Mount points created with mount(1) are only local to the current session and disappear when the last Cygwin process in the session exits.
- PATH_MAX is now 4096. Internally, path names can be as long as the underlying OS can handle (32K).
- UTF-8 filenames are supported now. So far, this requires to set the environment variable CYGWIN to contain "codepage:utf8", but this will likely disappear in a few weeks time. The setting of $LANG or $LC_CTYPE will be used instead.
- The CYGWIN environment variable options "ntsec" and "smbntsec" have been replaced by the per-mount option "acl"/"noacl".
- Reworked pipe implementation which uses overlapped IO to create more reliable interruptible pipes and fifos.
- Reworked pipe handling for better speed and better support for signal processing.
- Fallout from the long path names: If the current working directory is longer than 260 bytes, or if the current working directory is a virtual path (like /proc, /cygdrive, //server), don't call native Win32 programs since they don't understand these paths.
- On the first usage of a DOS path (C:foo, \foobar), the Cygwin DLL emits a scary warning that DOS paths shouldn't be used. There's also the new CYGWIN=nodosfilewarning setting to disable that.