Example of cloning a remote
In the following example, we get a list of remotes from a shared server,
clone from the shared server using one of those remotes, show the
resulting remote in the personal server with the p4
remotes command, and then demonstrate that the path
listed in the remote spec corresponds to the path passed to the clone
command:
-
First, we query a shared server for a list of remotes:
p4 -p perforce:1666 remotes bpendleton-dev 'To clone bpendleton's dev branch, use this remote spec. ' h_dev localhost:1666 'Created by hmackiernan. ' markm-remote2 'Created by markm. ' mw-dvcs localhost:1666 '[dvcs] Map main server components. Created by mwittenberg. ' p4-client localhost:1666 'Created by cmclouth. '
-
Then we choose a remote and pass it to the clone command:
p4 clone -p perforce:1666 -r markm-remote2 Helix db files in '/Users/jschaffer/.p4root' will be created if missing... Helix Versioning Engine info: Server initialized and ready to use. Remote origin saved. main Changes were successfully fetched. Remote origin saved. Server jschaffer-dvcs-1422657971 saved.
-
Next we run
p4 remotesagainst the personal server to show that we now have a remote called "origin," which is the renamed remote we cloned from the shared server:p4 remotes origin perforce:1666 'Description '
-
Next, we write the contents of the remote we passed to
p4 cloneto standard output to show the depot paths it specified in theDepotMapfield:p4 -p perforce:1666 remote -o markm-remote2 # A Helix Remote Specification. # # RemoteID: The remote identifier. # Address: The P4PORT used by the shared server. # Owner: The user who created this remote. # RemoteUser: The user to use when connecting to the shared server. # Options: Remote options: [un]locked, [no]compress. # Update: The date this specification was last modified. # Access: The date of the last 'push/fetch' on this remote. # Description: A short description of the shared server (optional). # LastFetch: The last changelist that was fetched. # LastPush: The last changelist that was pushed. # DepotMap: Lines to map local files to remote files. # ArchiveLimits: Limits on the number of files fetched (optional). RemoteID: markm-remote2 Owner: markm Options: unlocked compress Update: 2014/12/11 11:15:15 Description: Created by markm. LastFetch: default LastPush: default DepotMap: //depot/main/p4/msgs/... //depot/main/p4/msgs/... -
Finally, we write the contents of the origin remote spec to standard out to demonstrate that the depot paths it specifies in the
DepotMapfield are identical to those ofmarkm-remote2:p4 remote -o origin # A Helix Remote Specification. # # RemoteID: The remote identifier. # Address: The P4PORT used by the shared server. # Owner: The user who created this remote. # Options: Remote options: [un]locked, [no]compress. # Update: The date this specification was last modified. # Access: The date of the last 'push/fetch' on this remote. # Description: A short description of the shared server (optional). # LastFetch: The last changelist that was fetched. # LastPush: The last changelist that was pushed. # DepotMap: Lines to map local files to remote files. RemoteID: origin Address: perforce:1666 Owner: jschaffer Options: unlocked nocompress Update: 2015/01/30 14:46:51 Description: Description LastFetch: 996270 LastPush: 4024 DepotMap: //depot/main/p4/msgs/... //depot/main/p4/msgs/...Notice that the
LastFetchandLastPushvalues have changed to non-zero numbers to reflect the highest changelist numbers most recently fetched and pushed.