Perforce клиентские сопоставления конкретной версии/списка изменений

Есть ли способ настроить рабочее пространство Perforce с сопоставлением клиентов с определенной версией некоторых элементов?

E.g.:

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

В этом случае первая строка должна сопоставить все хранилище с localpath, но подпапка external должна быть сопоставлена ​​с ревизией 117 папки external хранилища.

Я знаю, что этот синтаксис не работает, но есть ли способ достичь этой цели, используя только сопоставления клиентов?


person qqbenq    schedule 17.09.2014    source источник


Ответы (2)


Нет, невозможно сопоставить конкретные версии (через метку, дату или другое) файлов.

Способ, которым вы могли бы решить это, состоит в том, чтобы разветвить //depot/external/...@117 на отдельный путь, а затем сопоставить этот путь:

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

Тогда клиентское представление может быть таким:

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

Но, как вы могли заметить, дерево депо очень легко запутать. Таким образом, вы должны заранее спланировать такую ​​​​структуру.

person pitseeker    schedule 17.09.2014
comment
Мне нечего добавить, но я хотел бы выразить свое недовольство этим сбивающим с толку ограничением. - person Jack O'Reilly; 14.06.2018

В версии 2014.2 сервера Perforce есть интересная новая функция, которая может удовлетворить ваши потребности:

#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.
person Bryan Pendleton    schedule 17.10.2014