CVS is annoying in that if you want to find out which files have been modified or need updating, you can’t simply use the cvs status command as there’s too much information displayed. In order to make it useful, you really need to filter the output.

Note: the following tutorial only works for linux computers using the bash terminal (it will not work in Windows). If you’re using linux and aren’t sure if you’re using bash, you probably are.

By typing cvs -q st | grep File: | grep -v Up-to-date into the terminal, each file which has been modified, added or needs updating (from that directory upwards) will be displayed on a single line. No up-to-date files will be displayed. This is a useful command to enter from the root of the directory you’re working from before a commit or update.

It is also possible to run that command using one word. Running the following command:

echo "alias cvsmod='cvs -q st | grep File: | grep -v Up-to-date'" >> ~/.bashrc && source ~/.bashrc

will create an alias (shortcut) to that command. Once you run the command the alias is stored on your computer (ie: it will still exist next time you turn on your computer). From then on, typing cvsmod will list all modified, added or out-of-date files.