Update ClearCaseClient to use new diff functionality.

Review Request #12622 — Created Sept. 22, 2022 and submitted

Information

RBTools
release-4.x

Reviewers

This reworks ClearCaseClient to make use of the new diff tools and
UnifiedDiffWriter to generate diffs.

Now, we perform a diff of each file using the new diff tool support,
which simplifies logic and should provide wider compatibility as new
diff tool backends are implemented.

The resulting diff payload is then generated through a
UnifiedDiffWriter, giving us a consistent way of generating the
resulting diff payload for the DiffX file or the legacy diff.

The unit tests themselves no longer fake the diff results. Instead, we
set up some files that we can diff against, in order to ensure diffing
works as expected. The run_process_exec() spy match ops check against
the diff tool's expected command line, as determined by the tool, and
perform a real diff against files set up at the start of the suite.

Base testing support for diff normalization have been updated to accept
format strings for timezones and millisecond precision on timestamps.

Unit tests pass.

Summary ID
Update ClearCaseClient to use new diff functionality.
This reworks `ClearCaseClient` to make use of the new diff tools and `UnifiedDiffWriter` to generate diffs. Now, we perform a diff of each file using the new diff tool support, which simplifies logic and should provide wider compatibility as new diff tool backends are implemented. The resulting diff payload is then generated through a `UnifiedDiffWriter`, giving us a consistent way of generating the resulting diff payload for the DiffX file or the legacy diff. The unit tests themselves no longer fake the diff results. Instead, we set up some files that we can diff against, in order to ensure diffing works as expected. The `run_process_exec()` spy match ops check against the diff tool's expected command line, as determined by the tool, and perform a real diff against files set up at the start of the suite. Base testing support for diff normalization have been updated to accept format strings for timezones and millisecond precision on timestamps.
7d254b73273019aa5de2958b1e77ec14b2e54f78
maubin
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (f98bb51)