Emit full URIs to identify Differential revisions
Summary: - Previously, used IDs like "33" to match a commit to a Differential revision. This has a namespacing problem because we now have an arbitrarily large number of Phabricator installs in the world, and they may want to track commits from other installs. - In Differential, parse raw IDs or full URIs. Emit only full URIs. - In Repositories, parse only full URIs. - This might cause a few commits to not be picked up in rare circumstances. Users can fix them with "arc mark-committed". This should be exceedingly rare because of hash matching. - There are some caveats for reparsing older repositories, see comments inline. I don't think there's much broad impact here. Test Plan: - Created a new revision, got a full URI. - Updated revision, worked correctly. - Ran unit tests. - Monkeyed with "Differential Revision" field. - Reviewers: btrahan, jungejason Reviewers: btrahan, jungejason Reviewed By: jungejason CC: aran, epriestley, jungejason Maniphest Tasks: T54, T692 Differential Revision: 1250
This commit is contained in:
@@ -224,6 +224,7 @@ phutil_register_library_map(array(
|
||||
'DifferentialRevisionEditController' => 'applications/differential/controller/revisionedit',
|
||||
'DifferentialRevisionEditor' => 'applications/differential/editor/revision',
|
||||
'DifferentialRevisionHash' => 'applications/differential/constants/revisionhash',
|
||||
'DifferentialRevisionIDFieldParserTestCase' => 'applications/differential/field/specification/revisionid/__tests__',
|
||||
'DifferentialRevisionIDFieldSpecification' => 'applications/differential/field/specification/revisionid',
|
||||
'DifferentialRevisionListController' => 'applications/differential/controller/revisionlist',
|
||||
'DifferentialRevisionListData' => 'applications/differential/data/revisionlist',
|
||||
@@ -952,6 +953,7 @@ phutil_register_library_map(array(
|
||||
'DifferentialRevisionCommentView' => 'AphrontView',
|
||||
'DifferentialRevisionDetailView' => 'AphrontView',
|
||||
'DifferentialRevisionEditController' => 'DifferentialController',
|
||||
'DifferentialRevisionIDFieldParserTestCase' => 'PhabricatorTestCase',
|
||||
'DifferentialRevisionIDFieldSpecification' => 'DifferentialFieldSpecification',
|
||||
'DifferentialRevisionListController' => 'DifferentialController',
|
||||
'DifferentialRevisionListView' => 'AphrontView',
|
||||
|
||||
Reference in New Issue
Block a user