Wednesday, May 20, 2009

Perforce Remote depot creation

The perforce remote depot allows to access files in depot created in another server instance. For example if you are connected to a server listening to port 1666 and want to access contents of a depot created in server listening at port 1667, remote depot assists in doing this. You can sync, diff and integrate remote depot with local depot.

Example:
Server1=1666 : Branch-name=//user/sguru/...
Server2=1888 : Remote-depot=//remote-sguru/... (this is the new depot which will be created)
I need to make //user/sguru/... in server1 as remote depot in server2

Step1: Create a new depot on Server2 and make following changes in depot spec
Depot: remote-sguru
Type: remote
Address: server1:1666
Map: //users/sguru/...

Step2: Open protection table on Server1 and add the following line
read user remote //users/sguru/…

Step3: Grant read access to //remote-sguru/... depot only to your build or integration managers. Open protection table on Server2 and add the following
list user * * -//remote-sguru/...
read user p4admin * //remote-sguru/...
We are avoiding rest of users other than admin accessing directly remote depot (server1) through //remote-sguru/... to minimize network traffic. Instead we create another branch as described in step4 and allow other users to access remote depot code from it.

Step4: Integrate //remote-sguru/... to location and allow rest of the users to access remote data from here. This will reduce network traffic. On server2 do following
p4 integ //remote-sguru/... //users/remote-sguru/...
Add following line to protect table
read user * * //users/remote-sguru/...

No comments: