Как правильно слить ветви, ответвленные из разных версий транка?

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

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

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

Между двумя ветвлениями прошло около двух / трех месяцев, и было много изменений в стволе, прежде чем я сделал ветка версии. Теперь пришло время объединить изменения из DEV_PROJ в ветку DEV_VERS, чтобы включить проект в нашу ветку новой версии.

Сначала я слил последнюю версию основной ветви в свою ветку DEV_PROJ (прямое слияние? ), думая, что это сведет к минимуму разницу между двумя ветвями, сохранив при этом изменения, специфичные для проекта.

То, что я пытаюсь сейчас и с чем у меня возникают проблемы, - это слияние DEV_PROJ с веткой DEV_VERS. Щелкните правой кнопкой мыши, Team / Merge my DEV_VERS project, чтобы начать слияние, есть три вкладки на выбор: URL, 2 URL, Реинтегрируйтесь. Насколько мне известно, это не реинтеграционное слияние, оно будет происходить от ветки к стволу, а не между ветвями, которые напрямую не связаны. Мне также не нужно объединять две ветки в мою ветку, поэтому я пропускаю вкладку с двумя URL-адресами.

Итак, я выбираю первый URL. В качестве источника я беру свой проект из ветки DEV_PROJ, Revisions: Start from copy, Depth: Working Copy. Во второй попытке я также выбрал Игнорировать происхождение. В обеих попытках я нажимаю кнопку «Предварительный просмотр», чтобы увидеть, какие файлы являются целью для слияния.

Я вижу, что есть много файлов, которые являются кандидатами на слияние, но не были изменены в моей ветке DEV_PROJ. Итак, процесс слияния (подрывной деятельности) видит гораздо больше кандидатов на слияние, чем я ожидал. Файлы, которые я добавил в ветку DEV_PROJ, отображаются как «Добавленные», но многие файлы, которые я знаю, что не менял в этой ветке, отображаются в обзоре слияния как «Измененные» или «Конфликт дерева».

Мои вопросы:

  1. Это правильный способ слияния ветвей? Если нет, можно ли это сделать напрямую с помощью меню слияния (URL, 2URL, Reintegrate)?
  2. Является ли мой первый шаг (переадресация ствола слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  3. Если нет прямого способа правильно объединить эти ветки, то я вижу только один вариант. Это слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

Eclipse: Helios Service Release 2, сборка: 20110218-0911
Изменения в этой ветви отображаются как «Изменено» или «Конфликт дерева» в обзоре слияния.

Мои вопросы:

  1. Это правильный способ слияния ветвей? Если нет, можно ли это сделать напрямую с помощью меню слияния (URL, 2URL, Reintegrate)?
  2. Является ли мой первый шаг (переадресация ствола слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  3. Если нет прямого способа правильно объединить эти ветки, то я вижу только один вариант. Это слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

Eclipse: Helios Service Release 2, сборка: 20110218-0911
Изменения в этой ветви отображаются как «Изменено» или «Конфликт дерева» в обзоре слияния.

Мои вопросы:

  1. Это правильный способ слияния ветвей? Если нет, можно ли это сделать напрямую с помощью меню слияния (URL, 2URL, Reintegrate)?
  2. Является ли мой первый шаг (переадресация ствола слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  3. Если нет прямого способа правильно объединить эти ветки, я вижу только один вариант. Это слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

Eclipse: Helios Service Release 2, сборка: 20110218-0911

Мои вопросы:

  1. Это правильный способ слияния ветвей? Если нет, можно ли это сделать напрямую с помощью меню слияния (URL, 2URL, Reintegrate)?
  2. Является ли мой первый шаг (переадресация ствола слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  3. Если нет прямого способа правильно объединить эти ветки, то я вижу только один вариант. Это означает слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

Eclipse: Helios Service Release 2, сборка: 20110218-0911

Мои вопросы:

  1. Это правильный способ слияния ветвей? Если нет, можно ли это сделать напрямую с помощью меню слияния (URL, 2URL, Reintegrate)?
  2. Является ли мой первый шаг (переадресация ствола слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  3. Если нет прямого способа правильно объединить эти ветки, я вижу только один вариант. Это означает слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

Eclipse: Helios Service Release 2, сборка: 20110218-0911
Reintegrate)?

  • Является ли мой первый шаг (пересылка магистрали слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  • Если нет прямого способа правильно объединить эти ветки, я вижу только один вариант. Это слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?
  • Eclipse: Helios Service Release 2, сборка: 20110218-0911
    Reintegrate)?

  • Является ли мой первый шаг (пересылка транка слияния на DEV_PROJ) причиной того, что есть кандидаты на слияние, которых не должно было быть?
  • Если нет прямого способа правильно объединить эти ветки, то я вижу только один вариант. Это слияние DEV_PROJ с магистралью (повторная интеграция), а затем слияние магистрали с ветвью DEV_VERS (прямое слияние). Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?
  • Eclipse: Helios Service Release 2, сборка: 20110218-0911
    Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

    Eclipse: Helios Service Release 2, сборка: 20110218-0911
    Будет ли это правильным способом сделать это? Если да, то это единственный способ сделать это?

    Eclipse: Helios Service Release 2, сборка: 20110218-0911
    Сервер SVN: 1.6.15
    Плагин Eclipse SVN: SVNKit 1.3.2 (2.2.2.I20100512-1900) // Коннектор SVN (2.2.2.I20100512-1900) // Поставщик SVN Team (0.7.9.I20100512-1900)

    6
    задан TT. 18 May 2011 в 12:59
    поделиться