Я читал о ветвлении / слиянии с Subversion 1.5, используя отличную и бесплатную книгу « Контроль версий с Subversion» . Я думаю, что понимаю, как использовать клиент командной строки Subversion для выполнения действий, которые мне нужны чаще всего, а именно:
Обновить ветку с изменениями из магистрали
Из рабочего каталога ветки запустите:
svn слияние 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 ПУТЬ
Кроме того, реинтегрировать ветку часто не удается с сообщением о том, что некоторые цели не были объединены и поэтому она не может продолжаться, поэтому мне пришлось использовать вариант № 3.
Мои вопросы:
- Как мне использовать TortoiseSVN 1.5 для слияния изменений из ствола в ветку?
- Как мне использовать TortoiseSVN 1.5 для слияния ветки с основной веткой, с методом реинтеграции и без него?
- Какие из вышеперечисленных вариантов мне следует использовать для каждого и почему?
РЕДАКТИРОВАТЬ
В ходе "пробного" тестирования я обнаружил, что операция Subversion в командной строке
svn слияние http://svn.myurl.com/proj/trunk
аналогична опции № 1 (Объединить диапазон ревизий) в TortoiseSVN, если я оставлю диапазон ревизий пустым.