Когда я откладываю ожидающий список изменений, изменения в существующих файлах отменяются, но вновь добавленные файлы не удаляются из файловой системы. Мне нужно вручную удалять эти файлы каждый раз, когда я выполняю операцию полки. Есть ли способ автоматически удалять вновь добавленные файлы при откладывании?
Автоматическое удаление недавно добавленных файлов при откладывании в Perforce
Ответы (6)
Я не думаю, что есть способ сделать это. Это поведение совместимо с возвратом файлов, которые были добавлены. Если вы «p4 добавляете» файл, а затем восстанавливаете его, он не будет удален при возврате. Кажется, это было бы плохим поведением, если бы это произошло! Потеря файла и работа, которая была вложена в файл при возврате, была бы очень плохой. Подумайте об этом: вы кодируете файл в своем редакторе, старательно сохраняете и, наконец, готовы «добавить p4» его поневоле. Затем вы решаете, что не хотите этого делать, поэтому вы возвращаетесь, а затем теряете свой файл???
Таким образом, отмена добавления не приведет к удалению файла.
в p4, если вы хотите сделать две операции, вы можете выполнить обычную полку в списке изменений, а затем выполнить p4 revert -w
в том же списке изменений, который удалит добавленные файлы. я не уверен, как это сделать в p4v.
Похоже, P4V добавил это в недавнем выпуске!
https://www.perforce.com/perforce/doc.current/user/p4vnotes.txt
#40757 (изменения #1619278, #1618572)
В диалоговом окне "Полка" есть возможность удалить с диска файлы, отмеченные для "Добавить".
Чтобы сделать это в p4v, вы можете создать собственный инструмент, скажем, «вернуть-добавленный-файл-и-удалить», добавив его в соответствующие контекстные меню, с приложением p4 и аргументами revert -w %F.
Если кто-то не знает, как связать пользовательские инструменты вместе (и я не смог найти способ сделать это), для выполнения полки/возврата потребуется отдельная полка, за которой следует использование пользовательской команды, revert-added-file -и-удалить.
Конечно, за исключением того, что работа на полках — это принципиально другой зверь. Если я создам новый класс, который использует новую функцию в существующем классе, а затем отложу оба файла, новый класс останется и теперь ссылается на несуществующую функцию в существующем классе. Теперь у меня есть ошибки сборки, и мне приходится вручную удалять новый файл, чтобы вернуться к «чистому листу», а это именно то, что мне нужно отложить.
- p4 полка -c changelist_number
- p4 вернуть -w -c номер_списка_изменений //...