0
votes

Is there a way to set up a perforce workspace with client mappings to a specific revision of some elements?

E.g.:

//depot/...                 //localpath/...
//depot/external/...@117    //localpath/external/...

In that case the first line should map the whole depo to localpath, but the external subfolder should be mapped to revision 117 of the external depot folder.

I know that that syntax does not work, but is there a way to achieve this goal using only the client mappings?

2

2 Answers

4
votes

In the 2014.2 release of the Perforce server, there is an interesting new feature that might address your needs:

#770674 (Bug #1648) **
    Client specs now support an optional 'ChangeView' field that
    locks certain depot paths to a particular changelist level:

    ChangeView:
        //depot/path/...@1000

    Revisions belonging to files under those paths will not be
    visible if they were submitted after the given changelist.
    Files mapped in the ChangeView may not be submitted.
1
votes

No, it is not possible to map specific revisions (via label or date or other) of files.

The way how you could solve this is, is to branch off //depot/external/...@117 into a separate path and then map that path:

p4 integrate //depot/external/...@117    //depot/external_v117/... p4
submit

Then the clientview could be like:

//depot/...                 //yourclient/...
//depot/external_v117/...   //yourclient/external/...
-//depot/external/...         //yourclient/external/...

But as you might notice, the depot tree gets confusing very easily. So you should plan a structure like this in beforehand.