Bug report: rsync does not always discriminate upper and lower case

jw schultz jw at pegasys.ws
Sun Dec 28 08:36:14 EST 2003

On Sat, Dec 27, 2003 at 12:28:06PM +0100, alain content wrote:
> Hi, 
> I found this surprising behavior with rsync  (version 2.5.7  protocol
> version 26) on Mac OS X (Panther, 10.3.2) :
> Suppose you  have a folder "Source" containing a file named "abc", and its
> backup as folder "Clone", created by rsync :
> rsync -a ~/Desktop/Source/ ~/Desktop/Clone
> Now change the name of file "abc" into "ABC" and re-sync :
> rsync -av ~/Desktop/Source/ ~/Desktop/Clone
> >building file list ... done
> >wrote 141 bytes  read 20 bytes  107.33 bytes/sec
> >total size is 6148  speedup is 38.19
> Not good : the change has not been done !
> And suppose you do this:
> rsync -av --delete-after ~/Desktop/Source/ ~/Desktop/Clone
> >building file list ... done
> >deleting a file named abc
> >wrote 145 bytes  read 20 bytes  330.00 bytes/sec
> >total size is 6148  speedup is 37.26
> Much worse, the file is not preserved in the backup.
> There is a workaround though :
> rsync -av --delete ~/Desktop/Source/ ~/Desktop/Clone
> >building file list ... done
> >deleting a file named abc
> >./
> >a file named ABC
> >wrote 181 bytes  read 36 bytes  434.00 bytes/sec
> >total size is 6148  speedup is 28.33
> However, the behavior is inconsistent and can result in incomplete copies or
> backups.

That sounds like a filesystem that preserves case but is
insensitive to case.

Rsync uses lstat to see if a file exists.  On case
insensitive filesystems lstat("abc", buf) will succeed if
the correct name is "ABC".  In other words, it isn't rsync's
fault if it believes the OS when the OS lies.

Case insensitive filesystems are not safe destinations for
rsync because if two paths exist with only a difference in
case ("Mail" and "mail") they will conflict.

There might be an option to mount the filesystem with case
sensitivity turned on.  Using that option would fix this

	J.W. Schultz            Pegasystems Technologies
	email address:		jw at pegasys.ws

		Remember Cernan and Schmitt

More information about the rsync mailing list