Page MenuHomePhabricator

Merge PhutilGitURI into PhutilURI
ClosedPublic

Authored by epriestley on Jun 13 2016, 12:41 PM.
Tags
None
Referenced Files
F15415924: D16099.id38735.diff
Thu, Mar 20, 8:28 AM
F15414347: D16099.diff
Thu, Mar 20, 12:11 AM
F15398927: D16099.id38733.diff
Mon, Mar 17, 1:55 AM
F15387607: D16099.id38733.diff
Sat, Mar 15, 2:41 AM
F15384144: D16099.id.diff
Fri, Mar 14, 6:56 PM
F15383756: D16099.id38735.diff
Fri, Mar 14, 5:49 PM
F15371393: D16099.diff
Wed, Mar 12, 12:35 PM
F15364441: D16099.id38735.diff
Tue, Mar 11, 1:30 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
Branch
gituri1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 12612
Build 16013: Run Core Tests
Build 16012: arc lint + arc unit

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.