Как объединить два ветки SVN?
У меня две проверенные ветки SVN: "b1" и "b2". Я хотел бы объединить все мои коммиты с ветки "b1" на ветку "b2". Я пробовал что-то вроде
svn merge -r HEAD:HEAD b1 b2
но он ничего не делает. Я уверен, что у меня эта команда неправильная, но я не могу найти хорошую документацию. Я хотел бы сделать это на стороне клиента, а не создавать третью ветку.
Я использую SVN 1.4.4, который не поддерживает параметр реинтеграции.
Как я могу это сделать?
Ответы
Ответ 1
Ваша проблема связана с флагом -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
Ответ 2
Из справочная страница для svn merge в книга Subversion:
$ svn merge --reintegrate \
http://svn.example.com/repos/calc/branches/my-calc-branch
--- Merging differences between repository URLs into '.':
U button.c
U integer.c
U Makefile
U .
$ # build, test, verify, ...
$ svn commit -m "Merge my-calc-branch back into trunk!"
Sending .
Sending button.c
Sending integer.c
Sending Makefile
Transmitting file data ..
Committed revision 391.
Edit:
Хорошо, поэтому вы используете старую версию Subversion. В этом случае см. Объединение целой ветки в другую в версия 1.4 книги.