Troubleshooting
Problem
This technote explains why attempts to change an IBM Rational ClearCase UCM baseline of a read-only component after a new baseline is created using the -identical option (cleartool mkbl -identical) fails.
Symptom
After making a new baseline using cleartool mkbl -identical, attempts to change the baseline of a non-modifiable component in that project results in the following error:
---------------------------
Baseline Validation
---------------------------
"Can't switch to baseline {baseline name} of component because the stream has made changes based upon the current baseline."
---------------------------
OK
---------------------------
Cause
The -identical option caused a baseline to get applied across all the components in the project, modifiable and non-modifiable.
Resolving The Problem
This is expected functionality as the -identical option is used to create a new baseline for all components, regardless of whether they have actually been modified.
If you need to continue using the -identical option when making a baseline, then you should exclude the non-modifiable components. Otherwise, you can use composite baselines to prevent the problem with rebasing a non-modifiable component. See the workarounds detailed below.
WORKAROUNDS:
- Exclude the read-only components when making an identical baseline:
cleartool mkbl -identical -component mod_a,mod_b,mod_c ...
Notes: - Review technote 1125223 for more details on using cleartool mkbl -identical.
- With a large number of modifiable components this can become cumbersome. Use %[mod_comps]p in a script.
- Composite baselines can prevent this problem, but they do not fix the problem with current projects. In a new project, use a composite baseline for the stream. The stream will be able to create a composite baseline, for which the modifiable components with modifications will get new baselines created in the stream, while the non-modifiable ones (and the unmodified modifiable ones) will be recorded with the foundation baselines. However, there will not be any conflict if you try to change the baseline of a non-modifiable component.
Related Information
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21145335