объединить 2 ветви SVN вместе
Вопрос
Я работаю с настройкой SVN, к которой я не привык, и мне нужно объединить новый код из одной филиала в другую.
В папке туловища нет кода, поэтому я не знаю, должен ли я обновить багажник по коду и обновить вторую ветвь, или есть ли способ просто обновить одну ветвь на другую. Мой последний курорт будет просто обновлять код вручную.
Есть идеи, какой лучший маршрут здесь? Я делаю все из терминала.
Решение
Нет, не обновляйте вручную. Конечно, сложность будет зависеть от того, насколько близки эти ветви.
Вы всегда можете принести изменения из ветки в другую ветвь. Допустим, у вас есть два филиала под названием Branch1 и Branch2, и вы хотите объединить Branch2 до Branch1.
Скажем, вы находитесь в Branch1 (попробуйте сначала сухой прогон, чтобы увидеть, приведет ли это к конфликтам)
svn merge -r LAST_MERGED_REVISION:HEAD_REVISION --dry-run url/to/branches/branch2 .
svn merge -r LAST_MERGED_REVISION:HEAD_REVISION url/to/branches/branch2 .
svn status | egrep '^C|^.C' <---Manual intervention is required for conflicts
svn update
svn ci -m "Merge changes from branch2"
И вы можете закрыть Branch2
svn merge --reintegrate url/to/branches/branch2
svn update
svn ci -m "Merged branch2 to branch1"
Это может потерпеть неудачу в случае, если ветви очень расходятся.
Другие советы
В зависимости от того, какой выпуск подрывной деятельности вы используете, я рекомендую использовать Svnmerge, или встроенный подрыв Поддержка отслеживания слияния. Анкет В любом случае, вполне возможно слияние от одной ветви в другую, без использования ствола (при условии, что ветви имеют некоторый относительно закрытый предок).