Как интегрировать каждый отдельный список изменений при объединении / разрешении принудительно?

#perforce #integrate

#Волей-неволей #интегрировать

Вопрос:

Я довольно новичок в Perforce, но у меня уже есть опыт работы с DVCS, такими как Git и Mercurial, и я знаком с основными принципами Perforce.

Сегодня я немного поиграл с p4v и создал ветвь некоторого игрового кода с помощью Integrate... функции. Позже я модифицировал исходную ветку и хотел также интегрировать эти изменения в новую ветку. Однако все отдельные списки изменений были объединены в один большой список изменений. Мне это не кажется лучшей практикой. Если вы разрабатываете функцию или исправляете ошибку, у вас, естественно, будет несколько отправлений, потому что каждое отправление должно быть атомарным.

Как я могу сохранить весь список изменений при объединении или разрешении?

Ответ №1:

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

Интеграция по списку изменений проста:

  1. Найдите список изменений, который вы хотите отправить, на панели «отправленный список изменений» (ctrl-2)
  2. Щелкните правой кнопкой мыши список изменений и выберите «интегрировать с использованием отправленного списка изменений NNN»
  3. Задайте любые необходимые параметры в последующем диалоговом окне.

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

Этот метод одновременной интеграции списка изменений называется «сбор вишни». У Perforce есть отличная статья из базы знаний о том, как здесь выбирать списки изменений.

Ответ №2:

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

Если вы хотите объединить только 1 список изменений, на экране интеграции разверните стрелку с надписью «Ограничить диапазон интеграции», после чего вы сможете выбрать, какие файлы будут интегрированы. Если вам нужен только 1 список изменений, выберите «Интегрировать только ревизии между» и выберите только свой список изменений для обоих. Как вы можете видеть, вы также можете сделать это по ревизии, дате, метке и рабочей области. Таким образом, это очень гибко.