Как минимизировать конфликты при слиянии с плагином CVS Eclipse - PullRequest
2 голосов
/ 02 марта 2012

scenario

Я пытаюсь выполнить описанный выше сценарий слияния с использованием Eclipse и плагина CVS. Это работает так же, как эта статья о ветвлении Eclipse .

Проблема, с которой я сталкиваюсь, заключается в том, что я считаю «неправильными конфликтами». Разве М2 не должен быть свободен от конфликтов?

В точке после фиксации, помеченной PM1, две ветви одинаковы. Некоторая работа сделана на HEAD (как WD2) и зафиксирована на HEAD. Тег W2 создан. Теперь я хочу эти изменения в p1test.

Ветвь в проекте Eclipse установлена ​​на p1test, и объединение выполняется путем выбора HEAD в качестве «Ветвь или версия для объединения (конечный тег)» и W1 в качестве «Общая базовая версия ( начать тег) ". Поскольку в p1test не было никаких изменений, я бы не ожидал никаких конфликтов в M2. Но это не то, что я вижу. Работа WD2 показывает конфликты. Это кажется неправильным, поскольку эти файлы не были затронуты в ветке p1test.

Я правильно делаю?

1 Ответ

0 голосов
/ 18 марта 2012

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

Используете ли вы ключевые слова CVS ($Revision$, $Author$, $Date$, ...) в ваших текстовых файлах?Конфликты касаются строк с такими ключевыми словами?

Я предлагаю вам протестировать операцию объединения с самой командной строкой CVS :

  • Выполнить новую проверку p1test branch
  • Invoke cvs update -kk -j W1 -j W2
  • Вы не должны иметь конфликтов и иметь возможность зафиксировать полученное объединение на p1test branch

Опция -kkтребуется, чтобы избежать конфликтов по ключевым словам.

...