File Revision History

TortoiseCVS provides two methods of reviewing and working with the history of a file. The first is via the History Dialog.

History Dialog

You can view a file's history by selecting it and right-clicking CVS → History.

Figure 3.7. History Dialog

History Dialog

The History Dialog will show a log of the revisions, tags, and branches for the selected file. It will also offer you the opportunity, by right-clicking on a specific revision, tag, or branch, to diff, save the revision locally, or update with sticky tags (an advanced CVS concept; usually, the save option is preferable to a sticky update). Unless the file is an executable, you can also select view to view that revision using the default application for the file type in question. You can also edit any current or previous commit message by clicking on a revision and typing into the text area at the bottom of the window.

When you click on a revision, detailed information on that revision is shown at the top of the dialog. This includes the file format (text, binary, etc.) and the keyword expansion mode. With older CVS servers, this information will be the same for every revision of a file, but newer servers allow it to be set specifically for each revision.

The current filename is also shown; if the file has been renamed at some point, you can see what its name has been for each revision.

To simplify the view, you can deselect the Show Tags checkbox. When you do this, only branches are shown in the dialog.

Revision Graph Dialog

TortoiseCVS also provides a Revision Graph Dialog to graphically show you the history of a file. You can view a file's revision graph by selecting it and right-clicking CVS → Revision Graph.

Figure 3.8. Revision Graph Dialog

Revision Graph Dialog

Like the History Dialog, the Revision Graph Dialog will allow you to see the details for and perform CVS operations on any revision, tag, or branch.

Revisions where a file has been removed are indicated by a red outline.

If your CVS server runs CVSNT, you will also be able to see which merge operations have been performed on the file: A purple arrow is drawn from the source revision to the destination revision (see Mergepoints).