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, HCL VersionVault can learn everything it needs to know at the build time. But this reliance on auditing at the files system level at build time can cause VersionVault to record incomplete information for objects that are updated incrementally, which do have a history.

In VersionVault 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, clearmake does not update an existing CR incrementally when it builds a target. Instead, it does the following:

  • Each time a build script incrementally updates the file system data of an object, clearmake writes 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 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.

clearmake provides 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.