Назад | Перейти на главную страницу

Как мне объединить две ветки svn?

У меня проверены две ветки svn: «b1» и «b2». Я хотел бы объединить все свои коммиты из ветки «b1» в ветку «b2». Я пробовал что-то вроде

svn merge -r HEAD:HEAD b1 b2 

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

Любые идеи?

Спасибо!

Ваша проблема с -r флаг. Вы должны указать ассортимент доработок. Так например:

svn merge -r 13:HEAD b1 b2

Чтобы определить правильный номер версии, вы можете:

svn log --stop-on-copy b1

log тогда будут перечислены только те коммиты, которые произошли b1. Вы будете выбирать наименьший номер ревизии, который вы увидите.

Однако я никогда не использовал эту форму. Я всегда следил за тем, чтобы я был активно на филиал b2, а затем сделал:

svn merge -r 13:HEAD url://to/branch/b1

В этом могут помочь команды «svnmerge» или «svnmerge.py». Обратите внимание, это другая команда, чем "svn merge". Более подробная информация доступна на сайте Вики-страница svnmerge.py включая подробную информацию о том, как его использовать, краткое руководство и т. д.

Я использовал его для управления слиянием нескольких проверок одного конкретного репозитория, где я вношу изменения в одном, а затем объединяю изменения из этой ветки в другую ветку, которая может иметь собственные изменения, которые не объединяются обратно. Для этого использования svnmerge.py фантастически сработал.

Шон