Help: annotate

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

aliases: blame

show changeset information by line for each file

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.


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

List of lines with annotation data.
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.

String. Line content.
Integer. Line number at that revision.
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 ([+] can be repeated):

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

global options ([+] can be repeated):

-R --repository REPO repository root directory or name of overlay bundle file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically pick the first choice for all prompts
-q --quiet suppress output
-v --verbose enable additional output
--color TYPE when to colorize (boolean, always, auto, never, or debug)
--config CONFIG [+] set/override config option (use '')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding (default: UTF-8)
--encodingmode MODE set the charset encoding mode (default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
--hidden consider hidden changesets
--pager TYPE when to paginate (boolean, always, auto, or never) (default: auto)