Update TFSClient to use new diff functionality.

Review Request #12628 — Created Sept. 24, 2022 and submitted

Information

RBTools
release-4.x

Reviewers

This reworks TFSClient 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 exception is our TFS wrapper, which hard-codes usage of GNU Diff
(but this should still largely be compatible with Apple Diff, and it's
unlikely this will be used much on macOS anyway).

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.

Unit tests have been updated to test diff execution in a way compatible
with multiple diff backends.

Unit tests pass.

Summary ID
Update TFSClient to use new diff functionality.
This reworks `TFSClient` 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 exception is our TFS wrapper, which hard-codes usage of GNU Diff (but this should still largely be compatible with Apple Diff, and it's unlikely this will be used much on macOS anyway). 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. Unit tests have been updated to test diff execution in a way compatible with multiple diff backends.
aadf99419601e7e9b8563b0040fefbc7853efc84
maubin
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (06a8919)