Further improve SVN path normalization and fix test regressions.
Review Request #11042 — Created June 11, 2020 and submitted
My previous change for SVN path normalization didn't actually work as
well as I had thought. It was tested in the CI environment that
originally unveiled the problems we had with quoting behavior, but those
tests were performed against asvn+ssh://
URL rather than the
file://
URL that the patch was ultimately written against.It turns out that these two types of URLs have different restrictions. A
file://
URL cannot use non-printable characters (character codes 0
through 31), even if escaped, whereas other URLs can.This change updates our tests to check against both. We now check
character codes 32+ forfile://
URLs and 0+ for others. We also
validate that non-printable character codes aren't provided in a file
path, catching errors before it hits Subversion.
Unit tests pass on Python 2.7 and 3.x (when applied to the release-4.0.x
branch).Unit tests also pass with this patch in the CI environment.
Summary | ID |
---|---|
b3a7f08892ea042a90fae91c857c133aa11653e8 |