What is the difference between Full baseline and Incremental baseline in Clearcase UCM?
Asked Answered
B

1

4

I have applied full baseline for my release. for ex. Baseline "MYProj_2.0.0.20".

Then testing team found some major issue. To fix that development team has delivered few changes.

After completing the build , I have applied the same baseline again "MYProj_2.0.0.20. But this time i have applied Incremental baseline. As per UCM, the baseline MYProj_2.0.0.20 was turned as MYProj_2.0.0.20.3452 (some random number at end to made it unique).

Now If i consider MYProj_2.0.0.20.3452 as release baseline, Will it contain all the changes or only the changes (delta change between "MYProj_2.0.0.20" and "MYProj_2.0.0.20.3452").

Please clarify me.

Bonnet answered 14/3, 2012 at 5:49 Comment(0)
K
4

It will contain all changes.

Except an incremental baselines will compute those changes by adding:

  • unique modifications introduced by the few changes (that is what an "incremental baseline" is: a label set only on the new versions since the previous baseline)
  • all the other changes already references by the previous baselines up to a full baseline

See "Types of baselines":

  • A full baseline is a baseline that you create by recording all versions of all elements below the component's root directory.
  • An incremental baseline is a baseline that you create by recording the last full baseline and those versions of elements that have changed since the last full baseline was created.

(there are also "checkpoint baselines", as detailed in "about ClearCase baselines", created automatically by deliver and rebase operations, but you don't need to be concerned with those right now)

That is why I always prefer a full baseline: all delta operation (like a "compare with another baseline") are quicker if your last baseline is a full one.
The argument in favor of incremental baselines is that they are faster to create (because of the lesser number of version to put baseline on).
But if your UCM component is so large that putting a label on all its versions is too long, maybe your component is too big in the first place.

Note that you always can upgrade an incremental baseline to a full baseline.

Note also that you have a difference between:

  • the title of a baseline (here "MYProj_2.0.0.20": you can put as many "MYProj_2.0.0.20" baselines as you want)
  • the id of a baseline (always unique: if "MYProj_2.0.0.20" is already taken, then ClearCase generate some numbers at the end: "MYProj_2.0.0.20.3452")
Klehm answered 14/3, 2012 at 6:31 Comment(5)
One more point in favor of incremental baselines- they obviously tend to occupy less space in the metadata. So in huge development projects (and consequently huge UCM components) with daily baseline+builds over 5 years, this makes a hell of a difference in managing VOB sizes.Sakti
@PulakAgrawal Each time I face that kind of issue, I immediately extract part of that huge component into a new one. "Huge" component defeat the purpose of UCM component, which is to define a coherent set of files: its size must be contained and reasonable.Klehm
@PulakAgrawal that being said, your comment illustrates the one major flow of ClearCase. It. Does. Not. Scale.Klehm
@Klehm Link Broken for "Types of baselines". Here it is: Types of BaselinesDumas
@Dumas Thank you. I have edited the answer accordingly.Klehm

© 2022 - 2024 — McMap. All rights reserved.