p4 remote

Create, modify or delete a remote specification.


For distributed version control. See Using Helix Core Server for Distributed Versioning (DVCS).


p4 [g-opts] remote [-f] remoteID
p4 [g-opts] remote -d [-f] remoteID
p4 [g-opts] remote -o remoteID
p4 [g-opts] remote -i [-f]

Syntax conventions


(DVCS) A remote describes the shared server that your server cooperates with. The p4 remote command lets you configure your system to use the p4 fetch and p4 pull commands to copy work between your server and the shared server. A remote specification describes the high level configuration and usage of a remote. The p4 remote command allows you to create, modify, or delete a remote specification.


A DVCS remote shared server is not related to the concept of a remote depot in Helix Core Server Administrator Guide.

The p4 remote command puts the remote specification (spec) into a temporary file and invokes the editor configured by the P4EDITOR environment variable. Saving the file creates or modifies the remote spec.

A remote spec contains the following fields:

  • RemoteID: The identifier of the remote.
  • Address: The P4PORT that is used by the server.
  • Owner: The user who created this remote spec. Can be changed.

    The specified owner does not have to be a Helix Server user. You might want to use an arbitrary name if the user does not yet exist, or if you have deleted the user and need a placeholder until you can assign the spec to a new user.

  • RemoteUser: Specifies the identity (user) Helix Server uses to authenticate against this remote server when pushing and fetching.
  • Update: The date this remote spec was last modified.
  • Access: The last time this remote was used to fetch or push.
  • Description: A description of the remote spec (optional).
  • Options: Flags to change the remote spec behavior. The defaults are marked with *.

    • locked/*unlocked Permits only the owner to change the remote, and prevents the remote spec from being deleted.
    • compress/*nocompress Compresses data sent between the local and remote server to speed up slow connections.
    • *copyrcs/nocopyrcs During a p4 fetch or p4 push, transfers entire Revision Control System (RCS) archive files when possible, or never transfers entire RCS archive files. By default, p4 fetch and p4 push copy RCS archive files from and to the shared server as a unit, retrieving multiple revisions with a single file transfer. Sometimes, this optimization is undesirable, because when entire RCS archive files are copies, the archive change numbers are copied as well. This can cause your personal server to experience a "jump" in changelist numbers when changes are fetched from or pushed to the shared server.
  • LastFetch: The last changelist that was fetched.
  • LastPush: The last changelist that was pushed.
  • DepotMap: Mapping between the local and remote files.
  • ArchiveLimits: One or more entries specifying how many revisions of file archives to store locally when the files are fetched. See the Using Helix Core Server for Distributed Versioning topics on:

The RemoteUser setting can by overridden by using --remote-user with p4 push, p4 fetch, or p4 login.


With no options specified, p4 remote invokes your editor for the specified remote spec.

-d remote

Deletes the named remote.


Enables a user with admin privileges to delete the spec or set the last modified date. By default, specs can be deleted only by their owner.


Causes a remote spec to be read from the standard input. The user’s editor is not invoked.

-o remote

Writes the remote spec for the named remote to standard output. The user’s editor is not invoked.

Usage Notes

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



or list to use the -o option
or admin to use the -f option


p4 remote -i

Read in a remote spec from standard input.

Related Commands

To display a list of remote specifications

p4 remotes