[p4] Re: Perforce Configurations

Paul Andrei pandrei at foliage.com
Tue Mar 22 13:23:29 PST 2005

Chuck Karish wrote:
>>Conceptually, the clientspecs sit at the border between Perforce and
>>user workspaces. There is one clientspec per user workspace, and they
>>cannot be [easily] shared by the team members. 
> Here's how hard it is:
>   p4 client  -t  <teammate's_client>
>   p4 sync  @<teammate's_client>

I stand corrected. That's actually a good solution. And it works well 
with CTI (configuration-through-integration). The sequence is not 
atomic, though. There is a tiny chance that "teammate's_client" will get 
changed in between. And you have to remember to update your clientspec 
every time the teammate updates his.

>>Putting configuration
>>information in the clientspec requires you to keep them in sync with the
>>configuration changes. For example, replacing
>>     //depot/component/release1.4.0/...
>>     //depot/component/release1.4.1/...
>>require you to change all client specs simultaneously. 
> OK, say you use a symbolic link instead.  You flip the
> link to point to a different release branch and a user
> discovers that there are files opened in her client on the
> branch to which the link previously pointed.  What are
> the correct Perforce semantics for submitting the changes?

Very good point. The Perforce depot symbolic links (references) should 
be used only to populate the client workspace with the right stuff, and 
never to allow files to be opened through them. So references wouldn't 
similar to VSS shared folders but more like the #includes in C/C++ 
preprocessing (one way import).

Paul Andrei

More information about the perforce-user mailing list