Page MenuHomePhabricator

D17080.diff
No OneTemporary

D17080.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -532,7 +532,6 @@
'DifferentialRevisionHeraldField' => 'applications/differential/herald/DifferentialRevisionHeraldField.php',
'DifferentialRevisionHeraldFieldGroup' => 'applications/differential/herald/DifferentialRevisionHeraldFieldGroup.php',
'DifferentialRevisionIDCommitMessageField' => 'applications/differential/field/DifferentialRevisionIDCommitMessageField.php',
- 'DifferentialRevisionIDField' => 'applications/differential/customfield/DifferentialRevisionIDField.php',
'DifferentialRevisionLandController' => 'applications/differential/controller/DifferentialRevisionLandController.php',
'DifferentialRevisionListController' => 'applications/differential/controller/DifferentialRevisionListController.php',
'DifferentialRevisionListView' => 'applications/differential/view/DifferentialRevisionListView.php',
@@ -5199,7 +5198,6 @@
'DifferentialRevisionHeraldField' => 'HeraldField',
'DifferentialRevisionHeraldFieldGroup' => 'HeraldFieldGroup',
'DifferentialRevisionIDCommitMessageField' => 'DifferentialCommitMessageField',
- 'DifferentialRevisionIDField' => 'DifferentialCustomField',
'DifferentialRevisionLandController' => 'DifferentialController',
'DifferentialRevisionListController' => 'DifferentialController',
'DifferentialRevisionListView' => 'AphrontView',
diff --git a/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php b/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php
--- a/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php
+++ b/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php
@@ -37,11 +37,9 @@
$errors = $parser->getErrors();
- // grab some extra information about the Differential Revision: field...
- $revision_id_field = new DifferentialRevisionIDField();
$revision_id_value = idx(
$field_map,
- $revision_id_field->getFieldKeyForConduit());
+ DifferentialRevisionIDCommitMessageField::FIELDKEY);
$revision_id_valid_domain = PhabricatorEnv::getProductionURI('');
return array(
diff --git a/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php b/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
--- a/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
+++ b/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
@@ -49,8 +49,6 @@
new DifferentialLintField(),
new DifferentialUnitField(),
new DifferentialRevertPlanField(),
-
- new DifferentialRevisionIDField(),
);
$default_fields = array();
diff --git a/src/applications/differential/customfield/DifferentialRevisionIDField.php b/src/applications/differential/customfield/DifferentialRevisionIDField.php
deleted file mode 100644
--- a/src/applications/differential/customfield/DifferentialRevisionIDField.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-final class DifferentialRevisionIDField
- extends DifferentialCustomField {
-
- private $revisionID;
-
- public function getFieldKey() {
- return 'differential:revision-id';
- }
-
- public function getFieldKeyForConduit() {
- return 'revisionID';
- }
-
- public function getFieldName() {
- return pht('Differential Revision');
- }
-
- public function getFieldDescription() {
- return pht(
- 'Ties commits to revisions and provides a permanent link between them.');
- }
-
- public function canDisableField() {
- return false;
- }
-
- public function shouldAppearInCommitMessage() {
- return true;
- }
-
- public function parseValueFromCommitMessage($value) {
- // If the value is just "D123" or similar, parse the ID from it directly.
- $value = trim($value);
- $matches = null;
- if (preg_match('/^[dD]([1-9]\d*)\z/', $value, $matches)) {
- return (int)$matches[1];
- }
-
- // Otherwise, try to extract a URI value.
- return self::parseRevisionIDFromURI($value);
- }
-
- public function renderCommitMessageValue(array $handles) {
- $id = coalesce($this->revisionID, $this->getObject()->getID());
- if (!$id) {
- return null;
- }
- return PhabricatorEnv::getProductionURI('/D'.$id);
- }
-
- public function readValueFromCommitMessage($value) {
- $this->revisionID = $value;
- }
-
- private static function parseRevisionIDFromURI($uri_string) {
- $uri = new PhutilURI($uri_string);
- $path = $uri->getPath();
-
- $matches = null;
- if (preg_match('#^/D(\d+)$#', $path, $matches)) {
- $id = (int)$matches[1];
-
- $prod_uri = new PhutilURI(PhabricatorEnv::getProductionURI('/D'.$id));
-
- // Make sure the URI is the same as our URI. Basically, we want to ignore
- // commits from other Phabricator installs.
- if ($uri->getDomain() == $prod_uri->getDomain()) {
- return $id;
- }
-
- $allowed_uris = PhabricatorEnv::getAllowedURIs('/D'.$id);
-
- foreach ($allowed_uris as $allowed_uri) {
- if ($uri_string == $allowed_uri) {
- return $id;
- }
- }
- }
-
- return null;
- }
-
-}

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 23, 1:41 AM (18 h, 10 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6920141
Default Alt Text
D17080.diff (5 KB)

Event Timeline