Search code examples
clearcaseclearcase-ucmcleartool

Creating UCM Component baseline - only for modified components


we have a single application stream with multiple components (UCM Composite baseline) in ClearCase.
It has been split like

Alpha Primary Component
|
|___W (Sub component - A application) 
| 
|___X (Sub component - B application)
| 
|___Y (Sub component - C application) 
|
|___Z (Sub component - D application) 

We use to Make baseline for whole project/stream (Primary Component- XXX_application_.002) through GUI it internally reflects in the corresponding components too (XXX_applcation_.002.yyyy) where we have code changes but not on the other components.

Is there any way, if I add a baseline for Alpha (increment primary baseline) it need to increment the particular component also which have changes (For EX: I have code changes in B application (X component)?) in cleartool command?

I have tried the below command to Make Baseline which is working for single component application, but not for multiple component (composite baseline) application.

cleartool mkbl -nc -view $ucmintgview -all -incremental $incrematalBaseline

Now I am looking for a command which makes baseline for Primary component which internally need to reflect in the modified application components also not the other components.


Solution

  • Is there any way, if I add a baseline for Alpha (increment primary baseline) it needs to increment the particular component also which have changes (For Ex: I have code changes in B application (X component)?) in cleartool command.

    If Alpha is a rootless component, with its dependency list composed of the four components A, B, C and D, then making a baseline on Alpha will be default generate a baseline only on the modified components of its dependency list.

    See "About rooted and rootless ClearCase UCM components"

    The baseline created on Alpha will be a composite baseline: see "To create a composite baseline".

    So your mkbl command could target only one component -- Alpha --, which would in turn trigger baselines on the modified components of its dependency list.

    A composite baseline is a baseline that selects baselines in other components. You can use a composite baseline to represent the entire project baseline; this is easier than keeping track of a set of baselines, one for each component.

    cleartool mkbl -comp Alpha@/vobs/aPVob -view $ucmintgview aBaselineName
    

    (by default, a baseline is incremental)