ANNOTATE

Description

Shows the changeset where each line of a file was last modified and its author.

Usage

cm annotate | blame <spec>[ ...] [--format=<str_format>] [--comparisonmethod=(ignoreeol | ignorewhitespaces | ignoreeolandwhitespaces | recognizeall)] [--dateformat=<str_date_format>] [--encoding=<name>] [--stats] [--repository=<repspec>]

Options

Option / ArgumentDescription
--formatRetrieves the output message in a specific format. See Remarks for more info.
--comparisonmethodSets the specified comparison method. See Remarks for more info.
--dateformatSets the output format to print dates.
--encodingSpecifies the output encoding, i.e.: utf-8. See the MSDN documentation at http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx to get the table of supported encodings and its format, (at the end of the page, in the "Name" column).
--statsShows statistics information.
--repositorySpecifies a repository spec used to calculate the annotations. By default, this command uses the repository where the loaded revision repository in the workspace is stored. (Use 'cm help objectspec' to learn more about repspecs.)
specThe spec of the file to annotate. (Use 'cm help objectspec' to learn more about specs.) Use double quotes (" ") to specify paths containing spaces.

Help

Remarks

Binary files can't be annotated.

Comparison methods (--comparisonmethod option)

Option / ArgumentDescription
ignoreeolIgnores the end of line differences.
ignorewhitespacesIgnores the whitespace differences.
ignoreeolandwhitespacesIgnores the end of line and whitespace differences.
recognizeallDetects the end of line and whitespace differences.

Output format parameters (--format option)

This command accepts a format string to show the output. The output parameters of this command are the following:

Option / ArgumentDescription
{owner}User who changed the line the last time.
{rev}Source revision specification of the line.
{content}Line content.
{date}Date when the line was checked in.
{comment}Comment of the source revision of the line.
{changeset}Changeset of the source revision of the line.
{line}Line number of the file.
{id}Item id.
{parentid}Parent id of the item.
{rep}Repository of the item.
{branch}Branch of the source revision of the line.
{ismergerev}Whether the revision of the line was created in a merge.

Date format parameters (--dateformat)

To specify the output format in which dates will be printed. See the supported formats specified at:

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

Repository specification (--repository)

To retrieve data from a remote repository. Useful for distributed scenarios.

Examples

cm blame c:\workspace\src --comparisonmethod=ignoreeolandwhitespaces --encoding=utf-8

cm annotate c:\workspace\file.txt --comparisonmethod=ignoreeol

cm annotate c:\workspace\file.txt --format="{owner} {date, 10} {content}"

(Writes the owner field, then a blank, then the date field (aligned to right), then a blank, and the content.)

cm blame c:\workspace\file.txt --format="{owner, -7} {comment} {date}" --dateformat=yyyyMMdd

(Writes the owner field in 7 spaces (aligned to the left) followed by a blank, then the comment, followed by another blank, and ending with the formatted date (for example, 20170329).)

cm annotate c:\workspace\file.txt --repository=centralRep@myserver:8084

cm blame serverpath:/src/client/checkin/Checkin.cs#cs:73666

(Annotates the file starting in changeset 73666 using a server path.)