Вопрос

Я работаю с настройкой 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, или встроенный подрыв Поддержка отслеживания слияния. Анкет В любом случае, вполне возможно слияние от одной ветви в другую, без использования ствола (при условии, что ветви имеют некоторый относительно закрытый предок).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top