http://www.loria.fr/~molli/fom-serve/cache/271.html
The "update" and "import" commands use collections of Unix wildcards to skip over files and directories matching any of those patterns.
You may add to the built-in ignore list by adding lines of whitespace-separated wildcards to the following places: (They are read in this order.)
In a file named "cvsignore" in $CVSROOT/CVSROOT.
A Repository Administrator uses this to add site-specific files and patterns to the built-in ignore list.
In a file named ".cvsignore" in your home directory.
For user-specific files. For example, if you use "__" as your default junk file prefix, you can put "__*" in your .cvsignore file.
People who play around exclusively in directory trees where the Makefiles are generated by "imake" or "configure" might want to put "Makefile" in their ignore list, since they are all generated and usually don't end up in the Repository.
In the CVSIGNORE environment variable.
For session-specific files.
Via the '-I' option on "import" or "update" commands.
For this-command-only files.
In a file named ".cvsignore" within each directory.
The contents of a ".cvsignore" file in each directory is temporarily added to the ignore list. This way you can ignore files that are peculiar to that directory, such as executables and other generated files without known wildcard patterns.
In any of the places listed above, a single '!' character nulls out the ignore list. A Repository administrator can use this to override, rather than enhance, the built-in ignore list. A user can choose to override the system-wide ignore list. For example, if you place "! *.o *.a" in your .cvsignore file, only *.o *.a files, plus any files a local-directory .cvsignore file, are ignored.
A variant of the ignore-file scheme is used internally during checkout. "Module names" found in the modules file (or on the "checkout" command line) that begin with a '!' are ignored during checkout. This is useful to permanently ignore (if the '!' path is in the modules file) or temporarily ignore (if the '!' path is on the command line) a sub-directory within a Repository hierarchy. For example:
cvs checkout !gnu/emacs/tests gnu/emacs
would checkout the module (or relative path within $CVSROOT) named "gnu/emacs", but ignore the "tests" directory within it.