I have noticed that the contents of per-directory .cvsignore files apply
outside their subtrees when using --cvs-exclude in rsync 2.6.0. In the
results below, notice how dir1/.cvsignore is applying to a file in dir2.
There is no ~/.cvsignore, and the CVSIGNORE variable is unset.
% ls -AFR
.:
dir1/ dir2/
./dir1:
.cvsignore file1
./dir2:
file2.foo
% cat dir1/.cvsignore
*.foo
% /usr/bin/rsync -avP --cvs-exclude . ../elsewhere
building file list ...
5 files to consider
created directory ../elsewhere
./
dir1/
dir1/.cvsignore
6 100% 0.00kB/s 0:00:00
dir1/file1
dir2/
wrote 231 bytes read 60 bytes 582.00 bytes/sec
total size is 6 speedup is 0.02
% cd ../elsewhere
% ls -AR
.:
dir1/ dir2/
./dir1:
.cvsignore file1
./dir2:
% rsync --version
rsync version 2.6.0 protocol version 27
Copyright (C) 1996-2004 by Andrew Tridgell and others
<http://rsync.samba.org/>
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
IPv6, 64-bit system inums, 64-bit internal inums
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.