hg-annotate - Man Page

show changeset information by line for each file

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.

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

-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[+]>

revset to not display (EXPERIMENTAL)

-L,--line-range <FILE,RANGE[+]>

follow line range of specified file (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