Ветвь SVN / процесс слияния для источника AspDotNetStorefront

Хотите знать, если бы у людей была рекомендация о том, как управлять ветвлением и слиянием, как мы "хотим" обрабатывать настройки для нашего использования AspDotNetStorefront. По сути, мы периодически получаем обновления AspDotNetStorefront, и нам необходимо применять настройки на двух уровнях: глобальные настройки и настройки клиента. Допустим, у нас есть простой пример:

  • AspDotNetStorefront настроен в SVN
  • AspDotNetStorefront разветвляется на AspDotNetStorefront_v1.0
  • AspDotNetStorefront_v1.0 разветвляется на AspDotNetStorefront_v1.0_Cust
  • AspDotNetStorefront_v1.0_Cust модифицируется изменениями и фиксируется
  • AspDotNetStorefront_v1.0_Cust разветвляется на ClientA_v1.0, где вносятся дополнительные изменения
  • AspDotNetStorefront_v1.0_Cust разветвляется на ClientB_v1.0, где вносятся дополнительные изменения

Это по сути, где мы находимся сегодня. Теперь, если выйдет версия 2.0 AspDotNetStorefront, мы не уверены, что делать. Я хотел бы сделать следующее, но я не уверен:

  • Разветвите AspDotNetStorefront в AspDotNetStorefront_v2.0, наложите новый исходный код, подтвердите
  • Филиал AspDotNetStorefront_v2.0 в AspDotNetStorefront_v2.0_Cust
  • Объединить AspDotNetStorefront_v1.0_Cust с AspDotNetStorefront_v2.0_Cust, протестировать, настроить, зафиксировать
  • Филиал AspDotNetStorefront_v2.0_Cust to ClientA_v2.0
  • Слияние ClientA_v1.0 с ClientA_v2.0, тестовая настройка, фиксация
  • Повторите последние два шага для ClientB

Я полностью вне базы? В первый раз мы попытались интегрировать код производителя в наши структуры SVN, где код производителя фактически изменен (в отличие от простого подключения или подключения). Любые ссылки на документацию будут полезны. Кроме того, я могу просто не знать терминологию этого типа модели для ее поиска, поэтому, если есть термины для этого вида деятельности, которые также будут полезны.

Спасибо!

1 ответ

Решение

То, что у вас есть сегодня, выглядит...

AspDotNetStorefront 
        --->  AspDotNetStorefront_v1.0
                     --->  AspDotNetStorefront_v1.0_Cust  [*]
                                        ---> ClientA_v1.0 [*]
                                        ---> ClientB_v1.0 [*]

Я полагаю, вы хотели бы сохранить AspDotNetStorefront_v2.0, Cust а также Client* ветви; Это, кажется, очень сложная ситуация для управления... Ответ зависит от факта

Величина изменения от AspDotNetStorefront_v1.0 в AspDotNetStorefront_v2.0 больше или дельта между Cust а также Client* ветви?

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

AspDotNetStorefront 
        --->  AspDotNetStorefront_v1.0 + (Upgrade Code to v2.0)
                     --->  AspDotNetStorefront_v1.0_Cust + Upgrade Code to v2.0
                                        ---> ClientA_v1.0 + Upgrade Code to v2.0
                                        ---> ClientB_v1.0 + Upgrade Code to v2.0

Поскольку кажется, что вам нужно сохранить все эти ветви нетронутыми, так что это структура, с которой вы в конечном итоге.

Другие вопросы по тегам