hg annotate

show changeset information by line for each file

Contents

Synopsis

hg annotate [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...

Description

List changes in files, showing the revision id responsible for each line.

This command is useful for discovering when a change was made and by whom.

If you include --file, --user, or --date, the revision number is suppressed unless you also include --number.

Without the -a/--text option, annotate will avoid processing files it detects as binary. With -a, annotate will annotate the file anyway, although the results will probably be neither useful nor desirable.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

lines:List of lines with annotation data.
path:String. Repository-absolute path of the specified file.

And each entry of {lines} provides the following sub-keywords in addition to {date}, {node}, {rev}, {user}, etc.

line:String. Line content.
lineno:Integer. Line number at that revision.
path:String. Repository-absolute path of the file at that revision.

See hg help templates.operators for the list expansion syntax.

Returns 0 on success.

Options

-r, --rev <REV>
 annotate the specified revision
--follow follow copies/renames and list the filename (DEPRECATED)
--no-follow don't follow copies and renames
-a, --text treat all files as text
-u, --user list the author (long with -v)
-f, --file list the filename
-d, --date list the date (short with -q)
-n, --number list the revision number (default)
-c, --changeset
 list the changeset
-l, --line-number
 show line number at the first appearance
--skip <REV[+]>
 revision to not display (EXPERIMENTAL)
-w, --ignore-all-space
 ignore white space when comparing lines
-b, --ignore-space-change
 ignore changes in the amount of white space
-B, --ignore-blank-lines
 ignore changes whose lines are all blank
-Z, --ignore-space-at-eol
 ignore changes in whitespace at EOL
-I, --include <PATTERN[+]>
 include names matching the given patterns
-X, --exclude <PATTERN[+]>
 exclude names matching the given patterns
-T, --template <TEMPLATE>
 display with template

[+] marked option can be specified multiple times

Aliases

blame