On Wed, 2010-04-28 at 22:24 +1000, David Schoen wrote: > Also when I use rsync I like to put slashes on the end of all paths as > it works closer to the way you're thinking, e.g.: > rsync -av /path/to/source/directory/ /path/to/destination/directory/ > > other wise you will probably end up with two copies after your second > run, one in /path/to/destination/directory and the second in > /path/to/destination/directory/directory . Which probably isn't what > you want.
I believe the behavior you describe is a bug. "rsync src dest" should always copy to dest/src . However, if dest does not exist yet /and/ src happens to be empty, "solo file" mode will trip and the source path will be ignored. This is a pointless inconsistency. I think an empty directory should not be regarded as a solo file. In commit a7d461f, Wayne changed a comment in get_local_name to suggest that but apparently did not change the code to match. I also realize that solo file mode should be disabled if --relative is on, since that option is a clear sign that the user wants the entire source path to be used. That avoids a weird case with --relative --no-implied-dirs --protocol=29 where the file list contains a single entry whose path has multiple components and rsync ignores all of them in favor of the destination path. While we're beating up on get_local_name, I noticed that rsync returns a bogus error message if the empty string is passed as the destination path: m...@mattlaptop2:~/test/rsync-slashes $ rsync-dev -d src '' rsync: recv_generator: mkdir "/home/matt/test/rsync-slashes/" failed: No such file or directory (2) *** Skipping any contents from this failed directory *** rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1152) [sender=3.1.0dev] This could be checked explicitly at the beginning of get_local_name. -- Matt -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html