Автоматическое удаление вновь добавленных файлов при отгрузке в Perforce

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

Ответ 1

Я не думаю, что есть способ сделать это. Такое поведение согласуется с возвратом файлов, которые были добавлены. Если вы 'p4 добавите' файл, а затем вернете его, он не будет удален при возврате. Похоже, это было бы плохое поведение, если бы оно было! Потеря файла и работа, которая попала в файл при возврате, были бы очень плохими. Подумайте об этом: вы скопируете файл в своем редакторе, вы аккуратно сохраняете, и, наконец, вы готовы "p4 добавить" его к себе. Затем вы решаете, что не хотите этого делать, чтобы вы вернулись, а затем потеряли файл.

Таким образом, при повторном добавлении не удаляется файл.

Ответ 2

в p4, если вы хотите сделать это двумя операциями, вы можете сделать обычную полку в списке изменений, а затем сделать p4 revert -w в том же списке изменений, который удаляет добавленные файлы. Я не уверен, как это сделать в p4v.

Ответ 3

Конечно, за исключением того, что стеллажи - это совершенно другой зверь. Если я создаю новый класс, который использует новую функцию в существующем классе, а затем отложит оба файла, новый класс останется и теперь ссылается на несуществующую функцию в существующем классе. Теперь у меня есть ошибки сборки и вы должны вручную удалить новый файл, чтобы вернуться к чистому сланцу, что и должно делать для меня полки.

Ответ 4

Чтобы сделать это в p4v, вы можете создать настраиваемый инструмент, например "revert-added-file-and-delete", добавив его в соответствующие контекстные меню, с приложением p4 и аргументами вернуть -w% F.

Если кто-то не знает способ объединить собственные инструменты вместе (и я не смог найти способ сделать это), для выполнения полки/возврата потребуется отдельная полка, за которой следует использование пользовательской команды, добавленные файлы и-удалить.

Ответ 5

  • p4 shelve -c changelist_number
  • p4 revert -w -c changelist_number//...