Как объединить два ветки 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 книги.