Отменить удаление файла, который находится в эксклюзивном извлечении в Perforce / P4 - PullRequest
0 голосов
/ 06 июля 2018

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

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

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

1 Ответ

0 голосов
/ 06 июля 2018

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

  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
...