p4 filelog

Print detailed information about files' revisions.


p4 [g-opts] filelog [-c change] [-h -i -l -L -t -p -s] [-m max] FileSpec[revSpec]

Syntax conventions


p4 filelog describes each revision of the files provided as arguments. At least one file or file pattern must be provided as an argument. If the file specification includes a revision range, only the specified revisions are listed.

By default, the output consists of one line per revision in reverse chronological order. The format of each line is:

... #rev change chnum action on date by user@client (type) 'description'


  • rev is the revision number
  • chnum is the number of the submitting changelist
  • action is the operation the file was open for. See the Description of p4 integrated.

  • date is the submission date (by default), or date and time if the -t option is used
  • user is the name of the user who submitted the revision
  • client is the name of the client workspace from which the revision was submitted
  • type is the type of the file at the given revision
  • description is the first 30 characters of the corresponding changelist’s description

    If the -l option is used, the description is the full changelist description as entered when the changelist was submitted. If the -L option is used, the description is the full changelist description, truncated to 250 characters.

By default, this command is optimized not to display history of a file which is deleted in the most recent commit, or has been removed previously.

To view the full history of a deleted file, specify the -d flag.

This option cannot be used with paths containing wildcards.

The -m max option displays at most max commits.

The --first-parent option follows only the first parent of each commit.


-c change

Display only files submitted at the specified changelist number.


Display file content history instead of file name history. The revisions that are listed include revisions of other files that were branched/copied (using p4 integrate and p4 resolve -at) to the specified revision. Revisions that were replaced by copying or branching are not displayed, even if they are in the history of the specified revision.


Follow file history across branches. If a file was created by integration (p4 integrate), Helix Server describes the file’s revisions and displays the revisions of the file from which it was branched (back to the branch point of the original file). File history inherited by renaming (p4 move) is always displayed, regardless of whether or not the -i option is used.


List long output, with the full text of each changelist description.


List long output, with the full text of each changelist description truncated at 250 characters.

-m max

List only the first max changes per file output.


When used with the -h option, do not follow content of promoted task streams. This option is useful when there are many child task streams branched from the supplied file argument.


Display a shortened form of output by ignoring non-contributory integrations (for example, integrations involving "branch into" or copy into" operations are not displayed)


Display the time as well as the date.


See Global options.

Usage Notes

Can File Arguments Use Revision Specifier? Can File Arguments Use Revision Range? Minimal Access Level Required




  • Because p4 filelog's output can be quite large when called with highly non-restrictive file arguments (for example, p4 filelog //depot/... displays the revision history for every file in the depot), p4 filelog commands may be subject to a maxresults limitation as set in p4 group.
  • If both the -i and the -m maxrev options are used, and a branch is encountered within the most recent maxrev revisions of the file, the most recent maxrev revisions of the file prior to the branch point are also displayed. p4 filelog -i follows branches down to a depth of 50 levels, which should be more than sufficient for any site.
  • Old revisions of temporary object files (file type modifier +Sn) are displayed with an action of purge.


p4 filelog //depot/proj1/...

Display the revision history for every file under the depot’s proj1 directory.

p4 filelog file1.c@100,@120

Display the revision history for file1.c from changelists 100 through 120.

p4 filelog file1.c#have,#head

If you do not have the latest revision of file1.c, display revision history since your last sync.

p4 filelog file1.c file1.h

Show the revision history for files file1.c and file1.h, which reside locally in the current working directory.

Related Commands

To read additional information about each file

p4 files

To display file information in a format suitable for scripts

p4 fstat

To view a list of open files

p4 opened

To view a list of files you’ve synced to your client workspace

p4 have