views:

57

answers:

1

A configuration management pattern question (using Rational ClearCase UCM)

When I use the mainline approach I create new releases by:

  • create release 1 from mainline
  • on a certain moment baseline release 1, deliver release 1 to mainline
  • create release 2 from mainline
  • on a certain moment baseline release 2, deliver release 2 to mainline
  • create release 3 from mainline
  • etc...

Works very nice because the pathname is /main/release 3/latest instead of /main/release 1/release 2/release 3/latest etc...

However... when in release 1 are new elements that have to be propagated to later releases I can not use the mainline since the mainline is already on e.g. release 4.

The only thing I can do is deliver/merge from release 1 directly to release 2.
The bad thing is that the pathname then becomes /main/release 1/release 2/latest for that files (and possibly later releases). That is I think not in line with the mainline approach.

What am I doing wrong?

crossposted on: http://www.cmcrossroads.com/forums?func=view&catid=31&id=99369#99369 crossposted on: https://www.ibm.com/developerworks/forums/thread.jspa?threadID=330226

A: 

This is known as the cascading branching symptom.

In your case, though, whenever there are "new elements that have to be propagated to later releases", you should be able to deliver them directly from release1 to release2 with a cascade limited to two-levels depth.

If that is not acceptable, you need to setup your streams in order to have a "global stream" above mainline and above the releases:

mainStream
  mainline
  release1
  release2
  ...

You can use mainStream as the source from which you propagate changes: clearfsimport release2 on mainStream, import/deliver the few release1 files to be propagated, make (again) a "release2" baseline, and rebase it on the release2 stream.

  • on the minus side, you need to repeat the process for each release.
  • on the plus side, at least, each clearfsimport (on mainStream) is "quick enough" because the delta between release is not too important.
VonC

related questions