Убрать файл, который находится в режиме эксклюзивного извлечения в Perforce / P4

Perforce noob здесь - у меня есть файл на полке, который я хочу убрать, чтобы запустить несколько вещей, однако файл извлекается исключительно на другой машине. В идеале я хочу убрать файл с полки локально, сделать несколько вещей, а затем выбросить мои локальные изменения.

Я рассматривал возможность использования p4 print и p4 copy, но они, похоже, не работают должным образом - например, copy, кажется, копирует файлы между путями депо.

Как снять с полки и игнорировать блокировку? Или как загрузить файл с полки, чтобы перезаписать его локально?


3
2 270
1

Ответ:

Решено

Два варианта:

  1. Используйте p4 print FILE@=SHELF, чтобы получить содержимое файла. Это очень просто для одного файла, но будет раздражать для нескольких файлов.

  2. Создайте новую ветку / поток и уберите ее туда; эксклюзивная блокировка не является глобальной для разных веток, поэтому вы можете делать все, что захотите, в своей ветке.

С потоками вариант 2 выглядит так:

p4 switch -c my-new-stream
p4 unshelve -S my-new-stream -s SHELF

С ручными спецификациями веток это больше похоже (при условии, что ваш клиент отображает все, если нет, есть дополнительный шаг по добавлению новой ветки в ваше сопоставление клиента):

p4 branch my-new-branch
(fill in a view mapping the current branch to your new branch)
p4 copy -b my-new-branch
p4 submit
p4 unshelve -b my-new-branch -s SHELF