Clearcase: зависимости активности для объединения потоков интеграции (исправления) - PullRequest
1 голос
/ 05 февраля 2010

У нас есть модель исправлений, в которой мы намерены использовать cset.pl -findmerge <activity> для выборочного объединения кумулятивных действий в поток исправлений (поток интеграции в поток интеграции). Обратите внимание, что мы используем модель с одним потоком; хотя поддержка групп, работающих с их собственным потоком разработки, будет поддерживаться (то есть, когда они присоединяются к проекту, они будут работать с интеграцией по умолчанию).

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

Скажем, у вас есть integration stream A,

file a.txt    
-> Change 1 (baselined ReleaseA)-> Change 2 -> Change 3  

fileb.txt  
-> Change 1 (baselined ReleaseA)-> Change 2

поток интеграции B и конфиг. Менеджер решает, что он хочет включить «Change 3» в новый патч (поток интеграции патчей - поток интеграции C).
Они выполняют cset.pl fetchmerge против Change 3 (включая изменения для Change 2).
Change 2 для fileb не поднимается, поэтому проблема заключается в определении этих зависимостей активности .

У кого-нибудь есть идеи?

Ответы [ 3 ]

0 голосов
/ 05 февраля 2010

Примечание (в дополнение к ответу sateesh ), deliver -act Chaange3 (вместо findmerge) будет перечислять Change2 и Change1 в качестве действий, включаемых в вашу доставку.
Это будетопределите эти зависимые действия, вероятно, следуя алгоритму, близкому к алгоритму, описанному sateesh .

См. " О зависимостях действий в операции доставки "

альтернативный текст http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/topic/com.ibm.rational.clearcase.hlp.doc/cc_main/images/deliver_depnd.gif

0 голосов
/ 19 февраля 2010

Пришлось использовать различные команды cctool для просмотра текущей версии и вставить ее в скрипт, чтобы получить список зависимостей активности

0 голосов
/ 05 февраля 2010

Если Change3 - это операция перебазирования / доставки, которую вы можете использовать

%ct lsact -contrib Change3
чтобы получить список способствующих деятельности и затем просмотрите любой из активностей ребазирования / доставки, перечисленных как способствующие действия для отслеживания, если какое-либо из них имеет Change2 в качестве вспомогательного действия.

Кроме того, предполагая, что базовая базовая линия для потока исправлений является той, которая используется для RelaseA, разве вам не нужно перечислять действия с Change1 и далее, когда вы выполняете слияние?

Т.е. ваш вызов findmerge не должен быть чем-то вроде

%findmerge ... Change2,Change3 -fcsets ...

...