UCM Clear Case: Иерархия потоков в одном проекте против нескольких проектов

У нас есть проект, и мы собираемся добавить новую функциональность в стабильную кодовую базу без каких-либо серьезных изменений, кроме исправления дефектов. План состоит в том, чтобы не разрабатывать новую функцию отдельно какое-то время (возможно, месяц), занимаясь промежуточными сборками и тестированием, а по мере того, как функция будет готова и качество станет приемлемым, слить код новой функции в основную ветку.

Вопрос в том, какой из следующих двух сценариев лучше с точки зрения Clear Case:

  1. Создание нового проекта на основе базовой линии в потоке интеграции текущего проекта, разработка новой функции в этом отдельном проекте с промежуточными поставками в поток интеграции нового проекта и сборка из потока интеграции. И, в конечном итоге, доставка изменений из потока интеграции нового проекта в основной проект (в dev или int).

  2. Использование иерархии потоков в основном проекте: создание дочернего потока интеграционного потока в основном проекте (назовем его temp_int) и дочернего потока temp_int (назовем его temp_dev). Разработка новой функции в temp_dev с периодической доставкой в ​​temp_int и сборками из temp_int, а затем доставкой новой функции из temp_int в основной поток интеграции.


person axk    schedule 19.10.2009    source источник


Ответы (1)


Вопрос, нужно ли создавать новый проект или делать подпоток — классический.

На мой взгляд, оба варианта достаточно равнозначны.

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

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

Кроме этого:

  • новый проект предлагает новое пространство для изоляции нескольких потоков в едином контейнере. Но если вам нужно включить некоторые незначительные изменения стабильного кода, сделанные во время разработки новой функции, поставки будут в порядке.
  • подпоток позволяет четко визуализировать конечного клиента после завершения разработки: доставка будет естественной операцией для слияния с родительским потоком. Кроме того, возможна периодическая перебазировка из родительского потока в ваш поток разработки, чтобы поддерживать его в актуальном состоянии.

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

person VonC    schedule 19.10.2009