Стратегия ветвления / слияния, когда одно из нескольких изменений не подписано - PullRequest
1 голос
/ 22 февраля 2012

Я пытаюсь придумать хорошую стратегию объединения ветвлений для сценария, когда несколько функций тестируются одновременно, и по крайней мере одна из них не подписана заинтересованными сторонами.Я хочу, чтобы подписанные изменения были запущены в производство с наименьшими усилиями с точки зрения операций SCM и повторного тестирования.

Я использую CVS (и я не могу это изменить), но вопрос в технологии SCMАгностик в определенной степени.

Представьте, что в любой момент времени на одной базовой линии разрабатываются несколько функций.Они все работают в изоляции в своих ветках.На каком-то этапе сборка выдвигается для тестирования окружения из ствола, который содержит все законченные / протестированные и объединенные обратно в изменения ствола.Допустим, в общей сложности объединено 5 ветвей, и одна не достаточно хороша для прохождения тестирования или по какой-то причине не одобрена бизнесом.

Если бы была серебряная пуля, подобная операции «unmerge», она быбыть идеальным, но, насколько я знаю, нет.

Моя другая идея - не объединять все изменения в транк, а в отдельную ветвь, раздвоенную от транка, и отправить сборку из этой ветки на тестовый сервер.,Если по какой-либо причине какое-либо изменение будет отменено, потребуется разветвление нового ответвления от магистрали и объединение всех изменений, кроме отозванных.Как только все изменения будут приняты, эта временная ветвь может быть объединена с транком.

Мне интересно, не является ли это излишним.

Есть еще идеи?

1 Ответ

0 голосов
/ 22 февраля 2012

Хотя это на самом деле не отвечает на ваш вопрос в том виде, в котором оно было задано, вы, возможно, захотите взглянуть на понятия переключения функций и «ветвления по абстракции», как обсуждалось в Непрерывной доставке. Это пара основных концепций, позволяющих итеративную разработку магистрали / магистрали.

...