Подрывная деятельность и ветвление после слияния с магистралью

#svn

#svn

Вопрос:

У меня есть три ветви Trunk Trunk.Магистраль разработки.Эксперимент

Магистраль.Разработка была разветвлена из магистрали. Магистраль.Эксперимент был разветвлен с Trunk.Dev

Я хочу реинтегрировать магистраль.Разработчик снова подключается к магистрали. Затем удалите магистраль.Ветвь разработки.

Позже я хочу объединить магистраль.Поэкспериментируйте с магистралью.

Возможно ли это? Может быть магистралью.Экспериментальное слияние только с Trunk.Dev? Каков наилучший способ выполнить то, к чему я стремлюсь?

Ответ №1:

Вы можете выполнить все вышеперечисленное, и все это возможно. Единственная проблема, с которой вы, вероятно, столкнетесь, — это если вы объедините trunk.experiment в trunk, а затем объедините в trunk.dev. В худшем случае вам придется разрешить кучу конфликтов слияния, но, скорее всего, с вами все будет в порядке.

Поскольку вы спросили и, похоже, именно к этому вы стремитесь, лучшим способом реализовать разветвленную модель разработки было бы переключиться на другую систему управления версиями, которая лучше справляется с ветвлением, такую как Git или Mercurial (мои личные предпочтения). Эти системы построены на основе ветвления и ведут себя намного лучше при ветвлении и слиянии.

Комментарии:

1. Я думаю, что он просит лучший способ в SVN. Не выходит из SVN.

Ответ №2:

То, что вы собираетесь сделать, является допустимым вариантом использования ветвления / слияния subversion (при условии, что вы следуете процедуре, символически описанной ниже).

 svn copy .../trunk .../trunk_dev
...
svn copy .../trunk_dev .../trunk_experimental
...
cd .../trunk_dev; svn merge .../trunk
cd .../trunk; svn merge --reintegrate .../trunk_dev
...
cd .../trunk_experimental; svn merge .../trunk
cd .../trunk; svn merge --reintegrate .../trunk_experimental