Как правильно делать svn-merge в eclipse и вообще?

Я как бы еще не пользовался svn вплотную. Использую commit/update, впринципе разницы от cvs в этом смысле нет.
Но сейчас заставили делать свой бранч и вести новые изменения именно в нем а потом уже переносить в trunk.

Вот все готово, но не очень то я правильно представляю как это делается.
Будет ли достаточно смержить head ревизию своего бранча с head ревизией trunk?

1 ответов


You can't merge a revision, you can only merge changes, which are difference between revisions:
Для командной строки это будет так:
- имея транк в качестве рабочей копии:
svn merge -r XXX:HEAD http://svn.repository.com/repos/project/branches/myBranch
svn ci -m "Merged from myBranch"

где XXX - версия на момент последнего занесения изменений из бранча в транк. Если это ещё ни разу не делалось - версия в которой бранч отпочковался от транка.

Первая команда возьмёт изменения, сделанные в бранче между XXX и HEAD и попытается накатить их сверху на рабочую копию (которая, собственно, транк).
Если не сможет - будет обычный конфликт как при update.
Вторая положит результат в svn trunk.

В эклипсе:
- глубоко в душе весь этот UI обеспечивает тот же самый функционал, что и svn.exe. Принцип тот же - выбрать начальную версию бранча, выбрать конечную версию бранча, свести их вместе и выложить результат в trunk.