Рекомендации по объединению исправлений ошибок из магистрали в ветку функций с использованием TortoiseSVN
-
10-10-2019 - |
Вопрос
У меня есть случай, когда моя ветка представляет новую версию, в которой есть переработанный уровень данных, однако все исправления ошибок применяются к магистрали.
Делаю ли я что-то противоположным образом, поскольку вся документация, с которой я столкнулся, относится только к объединению ветки обратно в магистраль?
Я все еще хотел бы синхронизировать ветку версий и исправления ошибок, как это можно сделать легко?
Особенно, если возникают конфликты из-за того, что ветвь версий содержит много изменений в иерархии каталогов и файлах.
Что именно является наилучшей практикой в данном случае?
Решение
Subversion знает сценарий "ветви функций".:
http://svnbook.red-bean.com/en/1.1/ch04s04.html#svn-ch-4-sect-4.4.2
Я думаю, что это в какой-то степени относится и к вашей ситуации.Идея также заключается в том, чтобы перенести изменения из магистрали в ветку, чтобы позже их было легче повторно интегрировать в магистраль.Однако мой опыт работы с subversion показывает, что это будет работать не так гладко, как вам бы хотелось.Другие системы, такие как Git или Mercurial, предположительно, лучше справляются с чем-то подобным.
Другие советы
Делаю ли я что-то противоположным образом, поскольку вся документация, с которой я столкнулся, относится только к объединению ветки обратно в магистраль?
trunk
это тоже ветка.Не о чем беспокоиться.
Я все еще хотел бы синхронизировать ветку версий и исправления ошибок, как это можно сделать легко?
регулярно и повторяюще объединяйте магистраль с ветвью объектов.
Особенно, если возникают конфликты из-за того, что ветвь версий содержит много изменений в иерархии каталогов и файлах.
известно, что svn плохо справляется со слиянием.Здесь нам не повезло.Вам придется вручную исправлять конфликты.У вас ведь есть набор для модульного тестирования, верно?