Проблемы слияния: Какую ревизию выбрать для слияния? - PullRequest
1 голос
/ 02 августа 2011

Раньше у меня были только простые сценарии, когда я разветвлялся из транка, вносил некоторые изменения, а затем объединял изменения в транк.Но на этот раз все несколько усложнилось, так как по пути ветке приходилось объединять новые вещи из ствола, и теперь я не знаю, с какой ревизии я должен начать объединение из ветви в ствол.См. Рисунок ниже.

Merging from trunk to branch and then later back in trunk

Предполагается, что на рисунке изображен сценарий, в котором mybranch создается в ревизии 10. Внесено много изменений, а затем в ревизию 25 Iслил некоторые новые функции из ствола в mybranch, чтобы создать что-то новое.То же самое в редакции 30. Внесены дальнейшие изменения, и я попытался объединиться, но получил много конфликтов, и по некоторым причинам я подумал, что может быть проще объединить новый материал из trunk в mybranch, прежде чем пытаться объединитьизменения в mybranch снова возвращаются в trunk.Но здесь я теряюсь - какую ревизию я должен указать в качестве начальной точки для слияния?

Если бы я не включил какие-либо изменения из ствола, это было бы легко:

svn merge -r11:HEAD http://repos.com/mybranch .

Но теперь (в редакции 35) mybranch в основном имеет каждое новое изменение в / trunk в дополнение ко всем другим изменениям.Что я должен сделать, чтобы объединить два в / trunk?

1 Ответ

1 голос
/ 02 августа 2011

Вы должны проверить чистый, свежий ствол и объединиться с --integrate

merge --reintegrate <branch url>

Для получения более подробной информации и обсуждения см. Книгу о подрывной деятельности в строке: http://svnbook.red -bean.com / nightly / ru / svn-book.html # svn.branchemerge.basicmerging.reintegrate

Попробовать это довольно безопасно, поскольку с вашим хранилищем ничего не произойдет, пока вы не сделаете коммит, что даст вам шансотступать, если вам не нравится, как происходит слияние.

РЕДАКТИРОВАТЬ: я должен был бы более четко заявить, что в этом случае вы сливаетесь из HEAD вашей ветви в HEAD вашей магистрали.

...