The Buildmeister Investigates

 

 

 

The Buildmeister executes the build after merging branch yyy_R95 to /main


Builder% example
**************************************
**************************************
**************************************
**************************************
You get = inf% of a pie.   <--- an infinite amount of pie 
                              is an inauspicious result! 
**************************************
**************************************
**************************************
**************************************

This is a more dangerous merge problem, because the merge occurs automatically, but the resultant code is wrong -- causes divide by zero. Let's use the cleartool diff to illustrate what the problem in the code is:


Builder% ct diff -graphical main.C@@/main/sjk_R93/LATEST main.C@@/main/yyy_R95/LATEST

Here's the offending result:


Builder% cat main.C
#include 
#include "corp_standards.h";

// Added even more meaningful comments.

int main()      {
        float num_pies = CORP_STD_NUMBER_OF_PIES;
        int   num_slices = CORP_STD_SLICES_OF_PIE;
        --num_slices;   // We want more
        cout << "**************************************" << endl;
        cout << "**************************************" << endl;
        cout << "**************************************" << endl;
        cout << "**************************************" << endl;
        --num_slices;   // Yummm....
        cout << "You get = ";
        cout << 100 * (num_pies / num_slices);
        cout <<  "% of a pie." << endl;
        cout << "**************************************" << endl;
        cout << "**************************************" << endl;
        cout << "**************************************" << endl;
        cout << "**************************************" << endl;
}

Our disconsolate Buildmeister has no recourse other than to reject the whole mess:


Builder% ct unco -rm `ct lsco -cview -all -s`
Checkout cancelled for "/tmp/sjk_demo/src/main.C".

And now, the developers go off to do the right thing...