# Determining who last modified a line with the Annotate command

Let's say you have found some code that you don't understand on line 65 of a file. Who do you ask about it? Well you could start by looking at the resource history for the file, but that won't tell you who changed that particular line. This is why the Annotate command is useful. Sometimes jokingly referred to as the blame, it allows you to pick any ASCII file (see note on binary files) and get a listing of who changed what line.

The Show Annotation action is available form the following places: History View, Repository Explorer, Synchronize View, and the Resource and Packages View. There are two available 'flavors' of Annotate: the newer Quick Diff Annotate and the older Annotate View. You can select which version of annotate you wish to use from the CVS Annotate preference page. To summarize the differences between the two types of annotate:

1. Quick Diff Annotate:
   - Quick Diff Annotate displays the annotations on a local file right in the same editor.
   - Clicking on an annotation or clicking on any line in the editor will prompt the History View to show the corresponding revision information.
   - Doesn't lose your place in the editor when displaying the annotation; simply adds the annotations to the annotation bar of the editor that you are currently using.
   - To turn off annotations, you have to select 'Hide Revision Information' from the annotation bar context menu.
2. Annotate View:
   - Perspective may switch, depending on your preference settings.
   - A read-only text editor is opened to display the annotations.
   - Selecting changes in the Annotate View will highlight the lines associated with the selected change in the text editor.
   - Conversely, selecting a line in the editor will cause the Annotate view to select the change associated with that line.
   - The History View will show the history for the opened file and highlight the revision of the currently selected change. This allow you to quickly see the commit comment for a particular change.

## Only works with text files

The annotate command will only work with files that are marked as ASCII in the CVS repository. Also, the command will open a text file to show the changes even if the associated editor in the workbench is a non-text editor. For example, if you run annotate on a plugin.xml file a simple text editor will be opened instead of the full PDE editor.

Watch/Edit
Team programming with CVS

CVS