Finding Out Who to Blame: CVS Annotate

When something suddenly stops working, it can be valuable to find out exactly who is to blame for the change. This is what CVS Annotate is for.

Figure 5.1. Annotate Dialog

Annotate Dialog

For each line of the file, the dialog shows

  1. From which revision that line originates (e.g. lines marked as 1.1 have not been changed since the first revision of the file).

  2. The author of the line, i.e. the person who made the last change. (TortoiseCVS tries to display the first 30 characters of the author name, but many CVS servers are only capable of displaying the first 8 characters, as can also be seen in the screenshot above).

  3. The time and date when the line was last changed.

  4. The current content of the line.

If you right-click a line in the dialog, you have the option of launching various commands, including viewing an annotation for a particular revision.

The Show log messages menu item toggles display of log messages; when this is enabled, the log message for the selected line is shown in the status bar at the bottom of the dialog.

Finally, you can change the appearance of the dialog by choosing between various highlighting options. Note that when highlighting is active, the bar to the right of the scroll bar gives an overview of the entire file.

The Find button allows you to search for a piece of text using the dialog shown in Find Dialog.

Figure 5.2. Find Dialog

Find Dialog