Perforce: Как мне получить diff всех измененных файлов между ветками? - PullRequest
2 голосов
/ 06 марта 2012

У меня есть две ветви основная линия и rcat . Я некоторое время работал над rcat (несколько CLNs / Submits) и хотел бы объединиться в магистраль. Однако перед слиянием мне необходимо представить diff для проверки кода.

Я хочу получить один унифицированный diff между ветвями mainline и rcat. Я пробовал:

p4 diff2 -duw //depot/my/project/path/projectname/mainline/...  //depot/my/project/path/projectname/rcat/... >> diff.txt

Это не дает мне файлы, которые я добавил в rcat, а также перечисляет кучу неизмененных файлов. Как мне получить разницу, которая:

  1. Имеет изменения в существующих файлах
  2. Есть новые файлы
  3. Игнорирует неизмененные файлы

Спасибо!

1 Ответ

6 голосов
/ 07 марта 2012

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

p4 integrate //depot/my/project/path/projectname/rcat/... //depot/my/project/path/projectname/mainline/...
p4 resolve -am
# Deal with any merge conflicts
p4 diff -du > diff.txt

diff.txt будет иметь изменения в существующих файлах и будет показывать удаленные файлы как очищенные от их содержимого, но фактически не будет показывать новые файлы. (Мои команды использовали Code Collaborator для проверки кода, который обрабатывает добавленные файлы.)

В качестве альтернативы, если у вас есть Linux-подобный diff, вы можете попробовать (при условии, что у вас mainline/... сопоставлен с каталогом mainline, а rcat/... сопоставлен с каталогом rcat):

diff -Nur mainline rcat > diff.txt

, который будет обрабатывать удаленные и добавленные файлы, как вы ожидаете. (Возможно, вы захотите сначала интегрировать от mainline до rcat, поэтому показанные изменения будут только теми, которые были внесены в rcat.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...