Branch Off the root of the version tree

We have reviewed that we should:

So what is the remaining solution?
Systematically branch off /main/0 (or from whatever the root branch is)

I.e. when needing to branch:

  • create a new branch from /main/0
  • merge there from the previously selected version

This simple strategy cannot be expressed directly using standard config spec rules. This is where a new tool is needed, in the form of a cleartool wrapper: ClearCase::Wrapper::MGi, using the ClearCase::Wrapper infrastructure by David Boyce. My design turns around a new config spec keyword: ##:BranchOff: root. Unless the keyword is found in the config spec, the behaviour of cleartool need not be altered. A modified version of ClearCase::SyncTree will also support the maintenance of 3rd party tools in vobs, using the strategy described here.

The strategy does however lead to specific patterns in the version tree which may be surprising, not optimally presented by the standard lsvtree. The wrapper will thus also offer a new lsgenealogy operation, to trace, by navigating Merge hyperlinks, the versions having contributed to the version currently selected.

-- MarcGirod - 26 Sep 2007