p4 annotate
Synopsis
Print file lines along with their revisions.
Syntax
p4 [g-opts
] annotate
[-a -c -i -I -q -t] [-doptions
]
file
[revRange
]
…
Description
The p4 annotate command displays the revision number for each line of a revision (or range of revisions) of a file (or files). You can then run p4 filelog on the indicated revision(s) to find out who made each change, when, and why.
To display the changelist number associated with each line of the file,
use the -c
option.
If you specify a revision number, only revisions up to that revision number are displayed. If you specify a revision range, only revisions within that range are displayed.
By default, the first line of output for each file is a header line of the form:
filename
#rev
-action
changenum
(type
)
where
is the file's name and revision specifier,
filename
#rev
action
is the operation the file was open for:
add
, edit
,
delete
, branch
, or
integrate
, num
is the
number of the submitting changelist, and
type of the file at the given revision.
To suppress the header line, use the -q
(quiet) option.
To print all lines (including lines from deleted files and/or lines no
longer present at the head revision), use the -a
(all)
option.
Options
|
All lines, including deleted lines and lines no longer present at the head revision, are included. Each line includes a starting and ending revision. |
|
Display the changelist number, rather than the revision number, associated with each line.
If you use the |
|
Runs the diff routine with one of a subset of the standard UNIX diff options. See Usage Notes for a listing of these options. |
|
Follow file history across branches. If a file was created by branching, Perforce includes revisions up to the branch point.
The use of the |
|
Follow integrations into the file. If a line was introduced into the file by a merge, the source of the merge is indicated as the changelist that introduced the line. If that source was itself the result of an integration, that source will be used instead, and so on.
The use of the |
|
Quiet mode; suppress the one-line header for each file. |
|
Force p4 annotate to display non-text (binary) files. |
|
See “Global Options”. |
Usage Notes
Can File Arguments Use Revision Specifier? |
Can File Arguments Use Revision Range? |
Minimal Access Level Required |
---|---|---|
Yes |
Yes |
|
-
The output of p4 annotate is highly amenable to scripting or other forms of automated processing.
-
By default, p4 annotate ignores changes to text files over 10 MB in length. Perforce superusers can override this limit by setting the
dm.annotate.maxsize
configurable. -
The diff options supported by p4 annotate are:
Option
Name
-db
ignore changes made within whitespace
-dl
ignore line endings
-dw
ignore whitespace altogether
Examples
p4 annotate file.c |
Print all lines of |
p4 annotate -c file.c |
Print all lines of |
p4 annotate -a file.c |
Print all lines of The starting and ending revision for each line are included. |
p4 annotate -a -c file.c |
Print all lines of The starting and ending changelists for which each line exists in the file are included. |