The plugin executes the command “cleartool diffbl -pred” to calculate the differences between two consecutive job-runs. Unfortunately, the option -pred doesn’t always take the predecessor from the same stream. More specifically: when the foundation baseline has changed, it takes the new foundation baseline as predecessor, and thus the plugin calculates the difference between the latest baseline on the selected (integration) stream and the new foundation baseline.
See also the following thread on the ClearCase forum:
How to compare a baseline with its predecessor on the same stream
The consequence of this:
- each time after a rebase of the "monitored" integration stream, it takes many hours before the plugin has calculated the difference between these two baselines (typically a few 1000 files different files in our case).
The reported difference is actually not what we are interested in. We just want the difference between the latest baseline on the integration stream (which results actually from the rebase), with the last but one baseline (typically just before the rebase).
Dave-Robinson from IBM has provided in his answer on the clearcase forum a small perl-script to illustrate how this can be achieved with cleartool commands, because there is not out-of-the-box ClearCase option to achieve this.
I propose to replace the option “-pred” with a calculation of baselines within the same stream (in case there is no previous baseline in the same stream, then comparison should be made with the foundation baseline). If you don’t want to change the current behaviour of the plugin, this could be switched on/off by means of a configuration parameter for the Jenkins plugin.