У меня проверены две ветки 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 фантастически сработал.
Шон