it-swarm.com.ru

Слить ветку в ствол

Я сталкиваюсь со специфической проблемой с SVN merge. Я хочу слиться с ветки разработчика в транк. У нас есть несколько веток разработчика, отсекающих ствол одновременно.

Я объединяю одну из этих веток в транк с помощью этой команды:

svn merge trunk branch_1

Я вижу изменения, которые не являются частью этой ветви, сливаются в транк. Что я делаю неправильно ?

Версия SVN:

Клиент командной строки Subversion, версия [email protected]

121
Vanchinathan Chandrasekaran

Ваш синтаксис svn merge неверен.

Вы хотите получить рабочую копию trunk, а затем использовать опцию svn merge --reintegrate:

$ pwd
/home/user/project-trunk

$ svn update  # (make sure the working copy is up to date)
At revision <N>.

$ svn merge --reintegrate ^/project/branches/branch_1
--- Merging differences between repository URLs into '.':
U    foo.c
U    bar.c
 U   .

$ # build, test, verify, ...

$ svn commit -m "Merge branch_1 back into trunk!"
Sending        .
Sending        foo.c
Sending        bar.c
Transmitting file data ..
Committed revision <N+1>.

Смотрите глава книги SVN по слиянию для более подробной информации.


Обратите внимание, что в то время, когда оно было написано, это был правильный ответ (и был принят), но все пошло дальше. Смотрите ответ топика и http://Subversion.Apache.org/docs/release-notes/1.8.html#auto-reintegrate

210
blahdiblah

Если ваш рабочий каталог указывает на ствол, то вы сможете объединить ветку с:

svn merge https://Host/repository/branches/branch_1

обязательно нужно выполнить эту команду в корневом каталоге вашего транка

73
topek

Сделайте обновление SVN в транке, запишите номер ревизии.

Из багажника:

svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName

Вы можете проверить, где ветка была вырезана из ствола, выполнив лог svn

svn log --stop-on-copy
16
Mike K.

Синтаксис неправильный, он должен быть

svn merge <what(the range)> <from(your dev branch)> <to(trunk/trunk local copy)>
1
lwpro2