Как получить уже интегрированный список изменений?

Специально существует команда interchanges, которая выводит списки изменений между двумя ветвями, которые не были интегрированы с удобством branchspec.

Есть ли что-то, что показывает списки изменений, которые были интегрированы чем-то вроде обратной стороны interchanges, а также работают с branchspec?

Больше интересует терминал perforce, а не p4v.

Спасибо


1
383
2

Ответы:

Решено

Я рекомендую выполнить p4 changes в источнике, запустить p4 interchanges между источником и целью, чтобы получить изменения источника, которые не были интегрированы, и сравнить эти два, чтобы найти те, которые были интегрированы.

Я также опишу два других подхода, которые я бы не рекомендовал, поскольку они немного сложнее (но вы можете найти их элементы полезными):

  • Запустите p4 changes -i на целевом объекте, а затем выполните множество команд p4 files, чтобы отфильтровать его до изменений, возникших в источнике.
  • Запустите p4 integrated -b branch, выполните множество команд p4 changes, чтобы преобразовать записи интеграции в диапазоны списков изменений, а затем отсортируйте их в единый список.

Узнать, был ли список изменений принудительно интегрирован в другую ветку, непросто. «p4 interchanges» может не сообщать обо всем, поскольку он полагается на метаданные и может «думать», что некоторые списки изменений были интегрированы.

Рассмотрим случай, когда CL10 был объединен с веткой B, а затем изменения были вручную отменены с помощью «p4 edit» вместо «p4 undo» на B. Затем, если вы запустите «p4 интегрировать» с CL10 perforce, вернется с сообщением «уже интегрировано». даже если кода больше нет (но, возможно, он должен быть).

Возможно, решение вашего вопроса может включать в себя объединение идей из ответа Сэма выше, «p4 interchanges», а также запуск «p4 интегрировать [-f]» в цикле, чтобы подтвердить, что набор списков изменений действительно был интегрирован. Это некоторая работа, так как необходимо учитывать выходные данные команд «p4 resolve» и «p4 diff / diff2».

Моя точка зрения: не полагайтесь исключительно на «обмены p4».