Fix and enhance support for patching Subversion diffs.
Review Request #12635 — Created Sept. 24, 2022 and submitted — Latest diff uploaded
Subversion diff patching wasn't implemented very well.
svn patch
almost always returns a 0 exit code, even if nothing is applied or
conflicts are found. Because of this, we'd claim a patch applied
successfully even if it didn't. We also didn't include information on
conflicts, and we had string type issues for empty files.This fixes all of this, and adds unit tests (except for empty files,
which will be covered in an upcoming change).We now parse the output of
svn patch
to determine whether anything was
applied and whether anything had conflicts, returning those details in
thePatchResult
.We also now patch empty files correctly, by fixing the string type
issues.Unit tests have been fully fleshed out for most of this.
Unit tests pass.