Page MenuHomePhabricator

Merge PhutilGitURI into PhutilURI
ClosedPublic

Authored by epriestley on Jun 13 2016, 12:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 19, 8:07 PM
Unknown Object (File)
Wed, Dec 18, 1:44 AM
Unknown Object (File)
Wed, Dec 18, 1:10 AM
Unknown Object (File)
Tue, Dec 17, 11:23 PM
Unknown Object (File)
Sat, Dec 14, 2:02 PM
Unknown Object (File)
Fri, Dec 13, 12:36 PM
Unknown Object (File)
Thu, Dec 12, 10:58 PM
Unknown Object (File)
Mon, Dec 9, 1:18 PM
Subscribers
None

Details

Summary

Ref T11137. This addresses three general issues:

  • From T11137, I recently added a bad typehint.
  • From T11004, we currently have buggy behavior with Git URIs that have relative paths: we convert them into "ssh://" URIs but change the meaning of their paths.
  • Generally, Phabricator has a lot of instanceof-flavored code around URI handling, and this has been a frequent source of errors. See some discussion in T11137. See next revision for changes to Phabricator.
Test Plan

Unit tests; see next revision for field testing.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Merge PhutilGitURI into PhutilURI.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
  • Test behavior for URIs with no protocol.
  • Test behavior for creating new Git URIs from other Git URIs.
  • Test behavior for implicit SSH protocol on Git URIs.
  • Remove "INVALID_PATH" faux-error.

Fixing those other test issues.

  • Fix ambiguous cases of "javascript:evil" and "mailto:user@domain".
  • Improve ease of debugging markup test case.
chad edited edge metadata.
This revision is now accepted and ready to land.Jun 13 2016, 2:18 PM
This revision was automatically updated to reflect the committed changes.