When the -C option is used with rsync (to honor exclude patterns in .cvsignore files), it's supposed to apply the patterns just to the subdirectory that the .cvsignore file is in, but due to a bug it applies them globally. I have an app deployment script which uses rsync from a CVS checkout and this is a serious bug for me (imagine this with "--delete-excluded").. it was fixed in 2.6.1 but it seems gentoo is perpetually at 2.6.0. However it's a one-line fix and I got it right out of rsync CVS. Reproducible: Always Steps to Reproduce: cd /tmp mkdir cvs-ignore-test mkdir cvs-ignore-test/a cvs-ignore-test/b echo "*.txt" > cvs-ignore-test/a/.cvsignore echo foo > cvs-ignore-test/a/unimportant.txt echo bar > cvs-ignore-test/b/IMPORTANT.txt rsync -avC cvs-ignore-test/ cvs-ignore-test-copy/ cat cvs-ignore-test-copy/b/IMPORTANT.txt
Created attachment 64763 [details, diff] rsync-2.6.0-cvsignore.patch
thanks, added to 2.6.0-r6