Perforce 2007.3 Command Reference
<< Previous Chapter
Additional Information
Table of Contents
Index
Perforce on the Web
Next Chapter >>
File Specifications

Global Options

Synopsis

Global options for Perforce commands; these options may be supplied on the command line before any Perforce command.

Syntax

p4 [-cclient -ddir -Hhost -pport -Ppass -uuser -xfile -Ccharset -Qcharset -Llanguage] [-G] [-s] cmd [args ...]
p4 -V
p4 -h

Options

-c client

Overrides any P4CLIENT setting with the specified client name.

-d dir

Overrides any PWD setting (i.e. current working directory) and replaces it with the specified directory.

-G

Causes all output (and batch input for form commands with -i) to be formatted as marshalled Python dictionary objects. This is most often used when scripting.

-H host

Overrides any P4HOST setting and replaces it with the specified hostname.

-p port

Overrides any P4PORT setting with the specified port number.

-P pass

Overrides any P4PASSWD setting with the specified password.

-s

Prepends a descriptive field (for example, text:, info:, error:, exit:) to each line of output produced by a Perforce command. This is most often used when scripting.

-u user

Overrides any P4USER, USER, or USERNAME setting with the specified user name.

-x file

Instructs Perforce to read arguments, one per line, from the specified file. If file is a single hyphen (-), then standard input is read.

-C charset

Overrides any P4CHARSET setting with the specified character set.

-Q charset

Overrides any P4COMMANDCHARSET setting with the specified character set.

-L language

This feature is reserved for system integrators.

-V

Displays the version of the p4 client program and exits.

-h

Displays basic usage information and exits.

Usage Notes

For example, the command p4 -c anotherclient edit -c 140 file.c will open file file.c for edit in pending changelist 140 under client workspace anotherclient.

The -x option can be extremely powerful - as powerful as whatever generates its input. For example, a UNIX developer wishing to edit any file referring to an included file.h file, for instance, could grep -l file.h *.c | cut -f1 -d: | p4 -x - edit.

In this example, the grep command lists occurrences of file.h in the *.c files, the -l option tells grep to list each file only once, and the cut command splits off the filename from grep's output before passing it to the p4 -x command.

For example, a script could be written as part of an in-house build process which executes p4 -s commands, discards any output lines beginning with "info:", and alerts the user if any output lines begin with "error:".

In some cases, it may not be intuitively obvious what keys the client program uses. If you pipe the output of any p4 -G invocation to the following script, you will see every record printed out in key/value pairs:

#!/usr/local/bin/python

import marshal, sys

try:
    num=0
    while 1:
        num=num+1
        print '\n--%d--' % num
        dict =  marshal.load(sys.stdin, 'rb')
        for key in dict.keys(): print "%s: %s" % (key,dict[key])

except EOFError: pass

Python developers on Windows should be aware of potential CR/LF translation issues; in the example, it is necessary to call marshal.load() to read the data in binary ("rb") mode.

For example, p4 -c anotherclient help provides exactly the same output as p4 help.

Examples

p4 -p new_server:1234 sync

Performs a sync using server new_server and port 1234, regardless of the settings of the P4PORT environment variable or registry setting.

p4 -c new_client submit -c 100

The first -c is the global option to specify the client name. The second -c specifies a changelist number.

p4 -s -x filelist.txt edit

If filelist.txt contains a list of files, this command opens each file on the list for editing, and produces output suitable for parsing by scripts.

Any errors as a result of the automated p4 edit commands (for example, a file in filelist.txt not being found) can then be easily detected by examining the command's output for lines beginning with "error:"


Perforce 2007.3 Command Reference
<< Previous Chapter
Additional Information
Table of Contents
Index
Perforce on the Web
Next Chapter >>
File Specifications
Please send comments and questions about this manual to [email protected].
Copyright 1999-2007 Perforce Software. All rights reserved.
Last updated: 11/29/07