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.

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

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 'section.name=value')
--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)