hg annotate#

show changeset information by line for each file#

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

Aliases: blame

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.

Use -L/--line-range FILE,M:N options to filter the output to the lines from M to N in FILE. This option is incompatible with --no-follow and cannot be combined with file pattern arguments. When combined with --rev the line ranges refer to the state of the file at the requested revision.

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

Every command accepts the global options.

-r

--rev REV

annotate the specified revision

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

-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

Options marked [+] can be repeated.