У меня проблемы с поиском хорошей стратегии ветвления, которая позволяет легко объединять и отслеживать наборы изменений в нашей среде.
Краткий обзор управления выпусками выглядит следующим образом:
У нас есть несколько коммерческих продуктов в составе решения.Неизменяемые внешние факторы приводят к необходимости поддерживать несколько версий программного обеспечения в течение неопределенного времени .Релизы являются слишком частыми и обычно в ответ на список улучшений или дефектов и на ОЧЕНЬ агрессивных графиках.Релизы, содержащие только исправления ошибок, обычно представляют собой точечные выпуски, поддерживаемые в родительской ветке выпусков.Релизы с новой функциональностью обычно становятся новой версией / веткой.
Дерево управления исходным кодом выглядит следующим образом:
- trunk - dev
- Product ABC
- ABC 1.0
- ABC 1.0.1 (point release same branch)
- ABC 2.0
- Product XYZ
- XYZ 1.0
- XYZ 2.0
Очевидно, что Dev - это наша ветка разработки, и ожидается, что она не будет стабильной.Изменения Dev, которые проходят экспертную оценку, переносятся в ствол, который мне нравится считать стабильным, но все еще программным кодом.Когда мы добавляем новые функции в ствол (обычно в ответ на проект клиента), мы в конечном итоге приближаемся к выпуску, и я разветвляюсь из ствола в ветку, подобную «Product ABC 2.0» выше.
Кошмар развиваетсякогда мы начнем исправлять дефекты в ветке релиза.Мы хотим объединить их обратно в транк, но сначала нужно перейти в ветку dev - однако, поскольку ветвь была создана из транка, это невозможно, если мы не выполним необоснованное слияние обратно в dev.Точно так же, если мы внесем изменения в dev и переместим их в ствол и захотим снова объединить их в ветку продукта, это невозможно без необоснованного слияния.
Это просто кажется таким замысловатым планом ветвления, чтоЯ убежден, что это совершенно неправильно или что нет хорошего способа использовать нашу модель и сколько выпусков мы выпускаем и поддерживаем в течение многих лет для разных клиентов.основываться на более простых сценариях выпуска.Есть ли что-то, чего мне здесь не хватает, что могло бы вернуть здравомыслие?