I always update Drupal as a two stage process (actually, it’s a four-stage process because I do it on the development version of my site prior to doing it on a live site)

1. See what updates are available
Log into the folder of your website using SSH, and enter the following command;
cvs -nq update -dP

If updates are available, this will display output similar to:

U modules/test/test.module
U modules/testing2/testing2.module

2. Update Core

cvs update -dP

This will actually update all the modules which the previous command indicated would be available for update

Common Gotchas

The update command will search for CVS updates in the current directory and any subdirectories. So if you are in the modules directory, you’ll only see available updates for the modules directory and below. If you want to search all of core, you need to be at the root of your website.

Any folders not under CVS control will be listed with a question mark prefix in the list

? /modules/sillymistake

indicates that I created a folder called ‘sillymistake’ in the modules folder. This folder is not known to CVS, so it’s indicated as ? (implying ‘ey? What? Never heard of this folder!’)

Any folders in the repository which are not in your local working copy with be marked as ignored

cvs update: New directory 'node/tests' -- ignored

For core, I normally see about 25 core modules ignored.

Caveat: I’m not expert at CVS, but the Drupal specific CVS information out there is pretty limited. I’m just recording what I find out, and amending it when I discover that I’m wrong. If I am incorrect, please let me know!