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:
  2. Annotate View:

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.

Related concepts
Watch/Edit
Team programming with CVS

Related reference
CVS