Я использую p4v для управления своим исходным кодом. У меня есть список изменений с отложенными файлами. Когда я щелкаю правой кнопкой мыши по элементу «Отложенные файлы» в p4v, он предлагает мне два варианта: «Обновить отложенные элементы в списке ожидающих изменений» и «Показать полку в Swarm». На самом деле я хочу удалить отложенные файлы (что p4v обычно предлагает мне сделать при щелчке правой кнопкой мыши, но не в этом случае).
Мне просто интересно, что должно делать это «обновление». Я попробовал щелкнуть по нему; похоже, что он ничего не делает, и в журнале команд p4 ничего не появляется.
Я что-то сделал, и p4v вылетел. Я открыл его снова, и теперь в контекстном меню появились дополнительные пункты, в том числе «Удалить отложенные файлы», чего я и хочу. Но мне все еще любопытно: что делает это «обновление» и когда я захочу его использовать?
Я считаю, что опция «обновить отложенные файлы» в P4V соответствует p4 shelve -r
:
C:\Perforce\test>p4 help shelve
shelve -- Store files from a pending changelist into the depot
...
The -r flag (used with -c or -i) enables you to replace all shelved
files in that changelist with the files opened in your own workspace
at that changelist number. Previously shelved files will be deleted.
Only the user and client workspace of the pending changelist can
replace its shelved files.
После того, как вы отложили список изменений, вы можете продолжить работу над ожидающим списком изменений в своем рабочем пространстве, включая открытие новых файлов, дальнейшее редактирование уже открытых файлов и, возможно, даже возврат некоторых файлов.
p4 shelve -r
копирует все это из вашего рабочего пространства на полку, гарантируя, что полка точно соответствует вашим локальным ожидающим изменениям. (Я делаю это постоянно во время работы и всегда использую p4 shelve -r
, потому что, если я верну файл во время итерации ожидающих изменений, я никогда не захочу оставлять свои старые изменения в этом файле висящими на полке.)
Если вы уже только что отложили свою работу на полку (или просто переставили существующую полку в рабочее пространство), конечно, p4 shelve -r
будет бесполезным.