Exclude merge/rebase option for Clearcase repository diff

Review Request #2844 — Created Feb. 7, 2012 and discarded

I have implemented this feature in order to be able to upload a clearcase branch diff for review which does not contain merged in changes from other branches (e.g. merged from mainline).

The change requires the usage of patch tool but this is only required and checked when 'exclude-merge' option is enabled. Also some hunks that are to be excluded from the diff could potentially fail as there might have been a conflicting merge. This feature also requires heavy use of temporary files because of patching (2 files per merge per file (merge diff) + 4 temp files per merge per file (patch)). I have also modified the normal diff behavior because I wanted the functions to be generic rather than specific for exclude-merge and normal diff (i.e. two sets of diff functions for those 2 options). Because of this usage of temporary files in the diff, the timestamps were removed from the final diff.

If you find this useful please include in the tool. Thanks.
No unit tests were created for this change.

Tested the normal/regression diff results by diffing the diff output of the original version versus the feature version (all but timestamps was OK).

The exclude merge functionality was tested on a large set of different branches but only by just looking at the results.
Review request changed

Status: Discarded