In a .cvsignore file, an excalmation point (!) on a line by itself is used to clear the exclusion list, including builtins. rsync has done this in the past, but changed at some point ... I didn't trace the CVS logs for the change. In excludes.c, ! is getting flagged off with the other meta-characters when in this case, allowing it would follow the (useful) CVS semantics.
Created attachment 702 [details] Re-enable "!"s in .cvsignore files I had thought that the bang token was an rsync-ism, but I apparently missed that it was also the only valid special-token in a .cvsignore file. This patch restores its list-clearing behavior in a .cvsignore file.
I've checked-in the fix to CVS.