rsync は -C オプションで CVS ディレクトリや .cvsignore に書かれているものなど CVS と同じルールで、コピーの際にファイル、ディレクトリ群を無視することができる。
なんだけど、この .cvsignore の動作がよく分かっていなかったようで、ちゃんと無視されずに転送されてしまうことがあった。
man rsync より
then, files listed in a $HOME/.cvsignore are added to the list
and any files listed in the CVSIGNORE environment variable (all
cvsignore names are delimited by whitespace).
Finally, any file is ignored if it is in the same directory as a
.cvsignore file and matches one of the patterns listed therein.
Unlike rsync's filter/exclude files, these patterns are split on
whitespace. See the cvs(1) manual for more information.
えーと。
- ホームディレクトリの .cvsignore
- コピー対象となっているディレクトリにある .cvsignore
の中に記されているファイル、ディレクトリ群が exclude される。
ってことかな?