p4 clone


Clone a new local Perforce server from a remote server.


p4 [-u user] [-d dir] [-c client] clone [-m depth] [-v] -p port -r remote
p4 [-u user] [-d dir] [-c client] clone [-m depth] [-v] -p port -f filespec


When you clone from a remote server, you copy the portion of its contents that you want to work with into your local server.


-c client

Specifies the client name. If not specified, defaults to the name established with the p4 init command.

-d directory

Specifies the directory in which the new Perforce server is initialized. If not specified, defaults to the current directory.

-f filepath

Specifies a filepath in the remote server to use as the path to clone. Perforce will use this path to determine the stream setup in the local server. Specifying the filepath also creates a default remote spec called origin.

-m depth

Specifies the maximum number of revisions of each file to clone; a shallow clone.

-p port

Specifies the address (P4PORT) of the remote server you wish to clone from.

-r remotespec

Specifies the remote spec call remotespec installed on the remote server to use as a template for the clone and stream setup.

-u username

Specifies the Perforce user.


Enables verbose mode.

Usage Notes

Can File Arguments Use Revision Specifier?

Can File Arguments Use Revision Range?

Minimal Access Level Required



read on the remote server.


p4 -u bruno -d Ace clone -p perforce:1666 -f //depot/main/...

As user bruno, clone the server perforce:1666, retrieving only the files and history from the remote server path //depot/main/....

Related Commands

To to initialize a Perforce server

p4 init