Вы можете использовать svn merge
, чтобы объединить изменения из одной ветки в другую. Это похоже на команду git rebase
:
$ svn co $REPO/branch/$branch/$project
$ cd $project
$ svn merge $REPO/trunk/$project
$ svn commit -m"Merging some change that was in trunk that the branch needs"
В последней редакции Subversion, вам больше не нужен переключатель -reintegrate
.
Если вы знаете точную ревизию, которую хотите объединить. То есть, вы смотрели на svn log
и увидеть изменения вы хотите на стволе, вы можете указать только сливаться только что пересмотр:
$ svn co $REPO/branch/$branch/$project
$ cd $project
$ svn merge -r$rev $REPO/trunk/$project
$ svn commit -m"Merging revision $rev into branch because the branch needs it"
Это будет сливаться только в одно изменение, которое было проверено в trunk
, что ветвь также необходимо.
Для получения дополнительной информации, используйте команду svn help merge
и см. Раздел Subversion online manual.
Помните, что git
имеет по крайней мере два отдельных репозиториев, которые он использует, таким образом, rebase
и merge
оба необходимы в то время как svn
имеет дело только с централизованным хранилищем, таким образом, только одна команда необходима.
Я знаю [слияние] (http://svnbook.red-bean.com/nightly/en/svn.branchmerge.html). Вы просите чистый способ ... У вас есть текущий метод, который вас не удовлетворяет? –
@ Álvaro G. Vicario, удалите ветку и звезду заново. Я не полностью понимаю слияние SVN. Когда я сливаюсь, делаются только изменения в файлах, а не коммиты (и их сообщения). Это тоже непростая задача, чтобы иметь две коммиты с одинаковыми модификациями, но разные коммиты и числа. – Vorac
@Vorac: SVN не работает так же, как Git. Если вы хотите систему управления версиями, которая работает как Git, используйте Git. Если вы используете SVN, вам придется учиться и соглашаться с тем, как работает SVN. –