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 / Argument | Description |
---|---|
--format | Retrieves the output message in a specific format. See Remarks for more info. |
--comparisonmethod | Sets the specified comparison method. See Remarks for more info. |
--dateformat | Sets the output format to print dates. |
--encoding | Specifies 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). |
--stats | Shows statistics information. |
--repository | Specifies 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.) |
spec | The 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 / Argument | Description |
---|---|
ignoreeol | Ignores the end of line differences. |
ignorewhitespaces | Ignores the whitespace differences. |
ignoreeolandwhitespaces | Ignores the end of line and whitespace differences. |
recognizeall | Detects 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 / Argument | Description |
---|---|
{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.)