Documentation

Support

Unity Version Control

ANNOTATE

Annotate files with the Unity Version Control CLI.
Read time 2 minutesLast updated 21 days ago

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 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.)
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 / 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 Microsoft's documentation on supported formats.

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.)