Я пытаюсь придумать хорошую стратегию объединения ветвлений для сценария, когда несколько функций тестируются одновременно, и по крайней мере одна из них не подписана заинтересованными сторонами.Я хочу, чтобы подписанные изменения были запущены в производство с наименьшими усилиями с точки зрения операций SCM и повторного тестирования.
Я использую CVS (и я не могу это изменить), но вопрос в технологии SCMАгностик в определенной степени.
Представьте, что в любой момент времени на одной базовой линии разрабатываются несколько функций.Они все работают в изоляции в своих ветках.На каком-то этапе сборка выдвигается для тестирования окружения из ствола, который содержит все законченные / протестированные и объединенные обратно в изменения ствола.Допустим, в общей сложности объединено 5 ветвей, и одна не достаточно хороша для прохождения тестирования или по какой-то причине не одобрена бизнесом.
Если бы была серебряная пуля, подобная операции «unmerge», она быбыть идеальным, но, насколько я знаю, нет.
Моя другая идея - не объединять все изменения в транк, а в отдельную ветвь, раздвоенную от транка, и отправить сборку из этой ветки на тестовый сервер.,Если по какой-либо причине какое-либо изменение будет отменено, потребуется разветвление нового ответвления от магистрали и объединение всех изменений, кроме отозванных.Как только все изменения будут приняты, эта временная ветвь может быть объединена с транком.
Мне интересно, не является ли это излишним.
Есть еще идеи?