Update Subversion to use the new Patcher API.

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

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.

Summary ID
Update Subversion to use the new Patcher API.
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.
25be93891ee1edee8e7d8dd73d892fc5a0cd9f16
Checks run (2 succeeded)
flake8 passed.
JSHint passed.
david
  1. Ship It!
  2.