Я читал разветвление/слияние с Subversion 1.5, используя отличную и бесплатную Version Control with Subversion. Я думаю, что я понимаю, как использовать клиент командной строки Subversion для выполнения наиболее часто используемых действий, которые:
Обновить ветвь с изменениями с внешней линии
В рабочем каталоге ветки выполните:
svn merge http://svn.myurl.com/proj/trunk
Объединить ветвь в магистраль
В рабочем каталоге соединительной линии выполните:
svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch
Однако мы используем TortoiseSVN 1.5 в качестве нашего интерфейса к Subversion. Я хотел бы знать, как лучше всего выполнять эти операции с TortoiseSVN. Новое диалоговое окно содержит три различных параметра в главном меню.
- Объединить диапазон изменений
- Реинтегрируйте ветку
- Объединить два разных дерева
Из того, что я могу собрать, TortoiseSVN всегда выполняет svn со следующим синтаксисом.
svn merge [--dry-run] --force From_URL @revN To_URL @revM PATH
Кроме того, реинтегрировать ветку часто не удается с сообщением о том, что некоторые цели не были объединены и поэтому не могут продолжаться, поэтому мне пришлось использовать опцию № 3.
Мои вопросы:
- Как использовать TortoiseSVN 1.5 для слияния изменений с соединительной линии на ветку?
- Как использовать TortoiseSVN 1.5 для объединения ветки в туловище с помощью метода реинтеграции и без него?
- Какой из вышеперечисленных вариантов я должен использовать для каждого и почему?
ИЗМЕНИТЬ
Через тестирование "сухого хода" я обнаружил, что операция Subversion командной строки
svn merge http://svn.myurl.com/proj/trunk
аналогичен опции № 1 (слияние диапазона версий) в TortoiseSVN, если я оставляю пробел в редакции пустым.