Perforce 2005.2 Command Reference
<< Previous Chapter
p4 flush
Table of Contents
Index
Perforce on the Web
Next Chapter >>
p4 group

p4 fstat

Synopsis

Dump file info in format suitable for parsing by scripts.

Syntax

p4 [g-opts] fstat [ -c | -e changelist# ] [ -Oflags -Rflags ] file[rev]...

Description

The p4 fstat command dumps information about each file, with each item of information on a separate line.

The output is best used within a Perforce API application where the items can be accessed as variables, but is also suitable for parsing by scripts.

Form Fields

Field Name
Description
Example/Notes

clientFile

local path to file (in local syntax by default, or in Perforce syntax with the -Op option)

/staff/userid/src/file.c

(or //workspace/src/file.c in Perforce syntax)

depotFile

depot path to file

//depot/src/file.c

path

local path to file

//workspace/src/file.c

headAction

action taken at head revision, if in depot

one of add, edit, delete, branch, or integrate

headChange

head revision changelist number, if in depot

1, 2, 3... n

headRev

head revision number, if in depot

1, 2, 3... n

headTime

Head revision modification time, if in depot. Time is measured in seconds since 00:00:00 UTC, January 1, 1970

919283152 is a date in early 1999

headType

head revision type, if in depot

text, binary, text+k, etc. (see the chapter on File Types.)

haveRev

revision last synced to workspace, if on workspace

1, 2, 3... n

desc

changelist description (if using -e changelist and if the file was part of changelist)

A Perforce changelist

digest

MD5 digest of a file (requires -Ol option)

A 32 hexadecimal digit string

fileSize

file length in bytes (requires -Ol option)

63488

action

open action, if opened in your workspace

one of add, edit, delete, branch, or integrate

type

open type, if opened in your workspace

A Perforce file type

actionOwner

the user who opened the file, if open

A Perforce username

change

open changelist number, if opened in your workspace

1, 2, 3... n

resolved

the number, if any, of resolved integration records

1, 2, 3... n

unresolved

the number, if any, of unresolved integration records

1, 2, 3... n

otherOpen

the number of other users who have the file open, blank if no other users have the file open

1, 2, 3... n, preceded by n records listing the users (0 through n-1) with otherOpenn, otherActionn, and otherLockn fields as applicable. For example:
... otherOpen 3
...... otherOpen0 user1@cws1
...... otherOpen1 user2@cws2
...... otherOpen2 user3@cws3

otherOpenn

for each user with the file open, the workspace and user with the open file

user123@workstation9

otherLock

present and set to null if another user has the file locked, otherwise not present

unset (... otherLock) or not present

otherLockn

for each user with the file locked, the workspace and user holding the lock

user123@workstation9

Because only one user at a time, may lock a file, if n is set, n is always 0.

otherActionn

for each user with the file open, the action taken

one of add, edit, delete, branch, or integrate

otherChangen

for every changelist with the file open, the changelist

A changelist number

ourLock

present and set to null if the current user has the file locked, otherwise not present

unset (... ourLock) or not present

resolveActionn
resolveBaseFilen
resolveFromFilen
resolveStartFromRevn
resolveEndFromRevn

Pending integration action, base file, base revision number, from file, starting, and ending revision, respectively.

For pending integration record information, use the -Or option.

Options

-c changelist#

Display only files affected after the given changelist number. This operation is much faster than using a revision range on the affected files.

-e changelist#

Display only files affected by the given changelist number. This option is much faster than using a revision range on the affected files.

-Of

Output all revisions for the given files, suppressing the other[...] and resolve[...] fields.

-Ol

Output a fileSize field displaying the length of the file and a digest field for each revision.

On servers older than release 2005.1, this field may be expensive to compute, particularly for text files with many revisions.

-Op

Display the clientFile in Perforce syntax, as opposed to local syntax.

-Or

Display pending integration record data for files open in the current workspace.

-Os

Shorten output by excluding client workspace data (for instance, the clientFile field).

-Rc

Limit output to files mapped into the current workspace.

-Rh

Limit output to files on your have list; that is, to files synced to the current workspace.

-Rn

Limit output to files opened at revisions not at the head revision.

-Ro

Limit output to open files in the current workspace.

-Rr

Limit output to open files that have been resolved.

-Ru

Limit output to open files that are unresolved.

g-opts

See the Global Options section.

The -s global option (which prefixes each line of output with a tag describing the type of output as error, warning, info, text, or exit) can be particularly useful when used with p4 fstat.

Usage Notes

Can File Arguments Use
Revision Specifier?

Can File Arguments Use
Revision Range?

Minimal Access Level Required

Yes

Yes

list

Examples

p4 fstat file.c

Displays information on file.c

p4 fstat -Rc 20 *.c

Displays information on all .c files affected after the checking-in of files under changelist 20.

p4 fstat -Os file.c

No client workspace information lines (i.e. clientFile) are displayed

p4 fstat -Osl file.c

No client workspace information lines are displayed, but the fileSize and digest lines are displayed.

p4 fstat -Os -Ol file.c

Equivalent to p4 fstat -Osl.

Related Commands

To read additional information about each file

p4 files

To display file information including change descriptions

p4 filelog


Perforce 2005.2 Command Reference
<< Previous Chapter
p4 flush
Table of Contents
Index
Perforce on the Web
Next Chapter >>
p4 group
Please send comments and questions about this manual to [email protected].
Copyright 1999-2005 Perforce Software. All rights reserved.
Last updated: 12/15/05