Как интегрировать две неотправленные ветки Perforce?

У меня возникла эта проблема: есть две ветки, обе были изменены и не были отправлены. Названы Project-A и Project-B; Теперь я хочу объединить / интегрировать A в B. У меня есть несколько идей, как это сделать.

  1. Создайте новую ветку и объедините две старые.

    • build a new branch named Project-C
    • представить проект А; Так что я могу проверить от A до C (скопируйте от A до C)
    • внутри C используйте p4 интегрировать B; то A интегрируется с B
  2. Используйте список изменений для интеграции, поскольку Perforce использует список изменений (submit | shelve) для управления.

    • get newest changelist of A
    • внутри B используйте p4 интегрировать A; теперь B объединен с головной версией в депо
    • скопируйте список изменений из A в B; поэтому B может обновиться с изменением в A.
    • отправить B
  3. Используйте diff и patch

    • diff A to the version in depot
    • патч к B

Я новичок в Perforce, поэтому в описании будут ошибки. Эти три идеи еще не проверены, потому что я боюсь сломать ветви моей команды.

Итак, моя проблема: : Будет ли работать одно из трех решений? & Какое из них будет лучшим?

Большое спасибо.

Ваше здоровье.


person Eric.Q    schedule 11.04.2013    source источник


Ответы (1)


С версией сервера Perforce 2013.1 вы можете отказаться от полки через спецификацию ветки, поэтому процесс для этого:

  1. Оставить изменения для проекта A
  2. Отложить изменения для проекта B (необязательно)
  3. Создайте представление ветки, которое сопоставляет проект A с проектом B
  4. Переместите полку из шага 1, используя вид ветки из шага 3, в рабочую область, в которой открыты файлы проекта B.

Сервер будет планировать интеграции и слияния отложенного содержимого из шага (1) с открытыми файлами в рабочей области проекта B.

После разрешения слияния интеграции вы можете сравнить все изменения и либо продолжить, либо внести дальнейшие изменения.

Причина откладывания изменений для проекта B на шаге (2) заключается в том, что если вам не нравятся результаты интеграции и слияния, вы можете все отменить и перезапустить процесс с отложенной работы.

person Bryan Pendleton    schedule 11.04.2013
comment
Привет, Создайте представление ветки, которое сопоставляет проект A с проектом B, означает ли это создание новой ветки, сопоставляющей A с новой (ветка B действительно существует, поэтому новая ветка должна быть C)? - person Eric.Q; 12.04.2013
comment
или это означает: раз ветвь B действительно существует, значит, новая ветка объединит A и B? - person Eric.Q; 12.04.2013
comment
Просмотр ветки, а не ветки. Это форма, которая определяет сопоставление между двумя наборами файлов, но сама по себе не создает ветку. Вы будете использовать его здесь, чтобы сообщить Perforce, как связать файлы в A с файлами в B. Найдите документы для p4 branch Справочник по командам 2013.1 - person William; 12.04.2013