I recently discovered
M-x cvs-examine
in Emacs. This command lets you
examine a CVS directory and its subdirectories and provides an excellent dired overview
of all files that differ from the repo. As with any dired view you can then select files
for (in this case CVS) operations.
cvs-examine is part of the Emacs front end to CVS 1.9 and later and is included with
Emacs 21. See pcl-cvs in the Emacs help for more info.