Нет: поскольку B1 существует, все действия «связаны» общей «временной шкалой», и ClearCase попросит вас также включить A2.
Возможным решением будет создание подпотока и создание findmerge
только с A1 и A3
(findmerge
- это слияние без UCM, которое может принимать список действий UCM в качестве входных данных)
Базовая линия накопления для подпотока должна быть последней базовой линией (созданной в IntStream) , а не , включая A1, A2 и A3.
Тогда:
ct findmerge activity:A1@\pvob activity:A3@\pvob -fcsets -c "report for delivery" -merge -gmerge
Этот подпоток играет роль "потока выпуска" или "потока консолидации", то есть потока, который будет включать все, что вам нужно для создания окончательного выпуска.
Родительский поток (IntStream) продолжает свою роль в интеграции всех усилий по разработке (поступающих из других подпотоков)
Примечание:
- "pvob" должен заменяться именем вашего проекта vob (vob, содержащий все данные UCM, такие как проекты, потоки, базовые показатели, действия, ...)
- "
ct
" означает "cleartool": это alias
(Unix) или doskey
(версия псевдонима для Windows: doskey ct=cleartool $*
)
Зависимость активности : в этом случае A3 может иметь несколько версий, основанных на версиях A2.
Команда
findmerge
использует действия только для объединения их changeset
(список версий):
Каждая версия, указанная в наборе изменений, становится исходной версией в операции слияния. Как всегда, версия на ваш взгляд.
A3, включая изменения, внесенные в A2, окончательный результат будет включать изменения A1, A2 и A3, за исключением случаев, когда изменения A1 и A3 являются «одновременными» (изменения в похожих строках): в этом случае потребуется нетривиальное объединение должно быть выполнено.
Так как вы не хотите изменений A2, вам нужно, как вы упомянули в комментариях, завершить эту findmerge
операцию с утилитой Perl cset.pl
:
ccperl cset.pl -undo A2
Он выполнит «отрицательное слияние» (или «субстративное слияние»), удалив любые изменения для A2.