Working with incremental update tools

The design of the build auditing capability makes it ideal for use with tools that build derived objects from scratch.

Because newly created objects have no history, DevOps Code ClearCase® can learn everything it needs to know at build time. But this reliance on auditing at the files system level at build time can cause ClearCase to record incomplete information for objects that are updated incrementally, which do have a history.

In ClearCase, incremental updating means that an object is updated partially during the builds of multiple makefile targets, instead of generated completely by the build of one target. By default, omake and clearmake do not update an existing CR incrementally when they build a target. Instead, they do the following:

  • Each time a build script incrementally updates the file system data of an object, omake and clearmake write a completely new CR, which describes only the most recent update, not the entire build history.
  • The new CR does not match the desired build configuration for any of the other targets that update the object incrementally.

The result is a situation that is both unstable and incorrect: all incremental-update targets are rebuilt each time that omake (or clearmake) is invoked; when the build is finished, the DO has the correct file system data, but its CR might not describe the configuration of the DO accurately.

omake and clearmake provide a special makefile target .INCREMENTAL_TARGET, which can be used to guarantee correct CR information for incremental updates. The sub-topics provide examples of how to use .INCREMENTAL_TARGET.