Как я могу переместить папку в другой список изменений с помощью P4V?

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

Я создал новый список изменений и переместил некоторые отдельные файлы/изменения в этот список, но папка содержит много автоматически сгенерированных файлов, и это займет слишком много времени, чтобы делать файл за файлом.

Я также рассмотрел возможность использования опции «возврат», но я думаю, что некоторые из этих файлов могли быть ранее добавлены на сервер по ошибке. Похоже, что возврат изменит эти файлы на диске на предыдущую версию сервера.


1
401
2

Ответы:

Из P4V вы можете выбрать несколько файлов в окне ожидающих изменений, а затем перетащить их в новый список изменений. Если они все находятся в одном каталоге, они все будут сгруппированы вместе, поскольку он отсортирован по пути к хранилищу.

Если вы просто хотите, чтобы они не открывались, но и не изменяли их на диске, перейдите в командную строку и выполните:

p4 revert -k //depot/path/...

Опция -k позволяет вам keep локальные файлы. Насколько я знаю, это недоступно в P4V (поскольку это оставляет ваше рабочее пространство не синхронизированным с состоянием хранилища, это как правило - плохая идея).

Если вы сгенерировали файлы в своей рабочей области, которые не должны попадать в хранилище, вы должны исключить их из представления вашего клиента, например:

View:
    //depot/... //myclient/...
    -//depot/path_to_generated_files/... //myclient/path_to_generated_files/...

Это по существу «скроет» эти файлы от всех операций Perforce; вы никогда не сможете добавлять файлы из этого пути к рабочей области, и если кто-то еще добавит файлы в этот путь к хранилищу, вы не сможете синхронизировать их с вашей рабочей областью. Два замечания по этому поводу:

  1. Если у вас уже есть некоторые из этих файлов в хранилище и они в настоящее время синхронизированы, вы исключите их из своего представления, а затем синхронизируете свой клиент, чтобы удалить их из вашего клиента. Вы можете использовать sync -k, как и revert -k, чтобы сохранить свои локальные копии, сообщая серверу, что ваш клиент правильно обновлен.
  2. Если вы используете потоки, вы можете сделать это для ВСЕХ клиентов потока, добавив путь Ignored.

Решено

Вы можете указать путь к папке в «Найти файл».

И используйте «*», чтобы сопоставить все файлы в файле contains.

Теперь вы можете выбрать все файлы в вашей папке с помощью «Ctrl + A».