Further improve SVN path normalization and fix test regressions.

Review Request #11042 — Created June 11, 2020 and submitted

chipx86
Review Board
release-3.0.x
reviewboard

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 a svn+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+ for file:// 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
Further improve SVN path normalization and fix test regressions.
david
  1. Ship It!
  2. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-3.0.x (3287e03)
Loading...