Update TFSClient to use new diff functionality.

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

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.

Commits

Files