Update Subversion to use the new Patcher API.

Review Request #14227 — Created Nov. 5, 2024 and updated — Latest diff uploaded

Information

RBTools
release-5.x

Reviewers

Subversion's patching functionality has been moved to the new Patcher API,
giving us a more future-proof, standardized way of patching and reverting,
handling empty files and conflicts.

There's a lot to Subversion patching. They use their own proprietary
patch format and output, and need special logic for adding or deleting
empty files. The old logic for all this has been moved into
SVNPatcher.

This did require some fixes to the base patching support to default
patch prefix levels to None instead of 0, and to
BaseSCMClient.apply_patch() to pass in the repository info to the
patcher.

All unit tests pass.

Commits

Files