Migrate Differential revision edges to use modern EdgeType subclasses
				
					
				
			Summary: Modernize Differential edges to subclass `PhabricatorEdgeType`. Largely based on D11045. Test Plan: From previous experience, these changes are fairly trivial and safe. I poked around a little to make sure things looked reasonably okay. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: Korvin, Krenair, epriestley Differential Revision: https://secure.phabricator.com/D11074
This commit is contained in:
		| @@ -100,7 +100,7 @@ foreach ($rows as $row) { | ||||
|       } | ||||
|       $old[$phid] = array( | ||||
|         'src' => $revision_phid, | ||||
|         'type' => PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER, | ||||
|         'type' => DifferentialRevisionHasReviewerEdgeType::EDGECONST, | ||||
|         'dst' => $phid, | ||||
|       ); | ||||
|     } | ||||
| @@ -112,7 +112,7 @@ foreach ($rows as $row) { | ||||
|       } | ||||
|       $new[$phid] = array( | ||||
|         'src' => $revision_phid, | ||||
|         'type' => PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER, | ||||
|         'type' => DifferentialRevisionHasReviewerEdgeType::EDGECONST, | ||||
|         'dst' => $phid, | ||||
|       ); | ||||
|     } | ||||
| @@ -122,7 +122,7 @@ foreach ($rows as $row) { | ||||
|       'old' => $old, | ||||
|       'new' => $new, | ||||
|       'meta' => array( | ||||
|         'edge:type' => PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER, | ||||
|         'edge:type' => DifferentialRevisionHasReviewerEdgeType::EDGECONST, | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
|   | ||||
| @@ -26,7 +26,7 @@ foreach (new LiskMigrationIterator($pull_table) as $pull) { | ||||
|  | ||||
|   $revision_phids = PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|     $commit_phid, | ||||
|     PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV); | ||||
|     DiffusionCommitHasRevisionEdgeType::EDGECONST); | ||||
|  | ||||
|   if ($revision_phids) { | ||||
|     $object_phid = head($revision_phids); | ||||
|   | ||||
| @@ -18,7 +18,7 @@ foreach (new LiskMigrationIterator($commit_table) as $commit) { | ||||
|     continue; | ||||
|   } | ||||
|  | ||||
|   $commit_drev = PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV; | ||||
|   $commit_drev = DiffusionCommitHasRevisionEdgeType::EDGECONST; | ||||
|   $editor->addEdge($commit->getPHID(), $commit_drev, $revision_phid); | ||||
|   $edges++; | ||||
|   if ($edges % 256 == 0) { | ||||
|   | ||||
| @@ -36,7 +36,7 @@ foreach (new LiskMigrationIterator($table) as $revision) { | ||||
|  | ||||
|     $editor->addEdge( | ||||
|       $revision_phid, | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER, | ||||
|       DifferentialRevisionHasReviewerEdgeType::EDGECONST, | ||||
|       $dst, | ||||
|       array( | ||||
|         'data' => array( | ||||
|   | ||||
| @@ -18,7 +18,7 @@ foreach (new LiskMigrationIterator($table) as $rev) { | ||||
|   foreach ($deps as $dep) { | ||||
|     $editor->addEdge( | ||||
|       $rev->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_DEPENDS_ON_DREV, | ||||
|       DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST, | ||||
|       $dep); | ||||
|   } | ||||
|   $editor->save(); | ||||
|   | ||||
| @@ -400,14 +400,19 @@ phutil_register_library_map(array( | ||||
|     'DifferentialRevertPlanField' => 'applications/differential/customfield/DifferentialRevertPlanField.php', | ||||
|     'DifferentialReviewedByField' => 'applications/differential/customfield/DifferentialReviewedByField.php', | ||||
|     'DifferentialReviewer' => 'applications/differential/storage/DifferentialReviewer.php', | ||||
|     'DifferentialReviewerForRevisionEdgeType' => 'applications/differential/edge/DifferentialReviewerForRevisionEdgeType.php', | ||||
|     'DifferentialReviewerStatus' => 'applications/differential/constants/DifferentialReviewerStatus.php', | ||||
|     'DifferentialReviewersField' => 'applications/differential/customfield/DifferentialReviewersField.php', | ||||
|     'DifferentialReviewersView' => 'applications/differential/view/DifferentialReviewersView.php', | ||||
|     'DifferentialRevision' => 'applications/differential/storage/DifferentialRevision.php', | ||||
|     'DifferentialRevisionCloseDetailsController' => 'applications/differential/controller/DifferentialRevisionCloseDetailsController.php', | ||||
|     'DifferentialRevisionControlSystem' => 'applications/differential/constants/DifferentialRevisionControlSystem.php', | ||||
|     'DifferentialRevisionDependedOnByRevisionEdgeType' => 'applications/differential/edge/DifferentialRevisionDependedOnByRevisionEdgeType.php', | ||||
|     'DifferentialRevisionDependsOnRevisionEdgeType' => 'applications/differential/edge/DifferentialRevisionDependsOnRevisionEdgeType.php', | ||||
|     'DifferentialRevisionDetailView' => 'applications/differential/view/DifferentialRevisionDetailView.php', | ||||
|     'DifferentialRevisionEditController' => 'applications/differential/controller/DifferentialRevisionEditController.php', | ||||
|     'DifferentialRevisionHasCommitEdgeType' => 'applications/differential/edge/DifferentialRevisionHasCommitEdgeType.php', | ||||
|     'DifferentialRevisionHasReviewerEdgeType' => 'applications/differential/edge/DifferentialRevisionHasReviewerEdgeType.php', | ||||
|     'DifferentialRevisionHasTaskEdgeType' => 'applications/differential/edge/DifferentialRevisionHasTaskEdgeType.php', | ||||
|     'DifferentialRevisionIDField' => 'applications/differential/customfield/DifferentialRevisionIDField.php', | ||||
|     'DifferentialRevisionLandController' => 'applications/differential/controller/DifferentialRevisionLandController.php', | ||||
| @@ -457,6 +462,7 @@ phutil_register_library_map(array( | ||||
|     'DiffusionCommitChangeTableView' => 'applications/diffusion/view/DiffusionCommitChangeTableView.php', | ||||
|     'DiffusionCommitController' => 'applications/diffusion/controller/DiffusionCommitController.php', | ||||
|     'DiffusionCommitEditController' => 'applications/diffusion/controller/DiffusionCommitEditController.php', | ||||
|     'DiffusionCommitHasRevisionEdgeType' => 'applications/diffusion/edge/DiffusionCommitHasRevisionEdgeType.php', | ||||
|     'DiffusionCommitHasTaskEdgeType' => 'applications/diffusion/edge/DiffusionCommitHasTaskEdgeType.php', | ||||
|     'DiffusionCommitHash' => 'applications/diffusion/data/DiffusionCommitHash.php', | ||||
|     'DiffusionCommitHookEngine' => 'applications/diffusion/engine/DiffusionCommitHookEngine.php', | ||||
| @@ -3438,6 +3444,7 @@ phutil_register_library_map(array( | ||||
|     'DifferentialResultsTableView' => 'AphrontView', | ||||
|     'DifferentialRevertPlanField' => 'DifferentialStoredCustomField', | ||||
|     'DifferentialReviewedByField' => 'DifferentialCoreCustomField', | ||||
|     'DifferentialReviewerForRevisionEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DifferentialReviewersField' => 'DifferentialCoreCustomField', | ||||
|     'DifferentialReviewersView' => 'AphrontView', | ||||
|     'DifferentialRevision' => array( | ||||
| @@ -3455,8 +3462,12 @@ phutil_register_library_map(array( | ||||
|       'PhabricatorProjectInterface', | ||||
|     ), | ||||
|     'DifferentialRevisionCloseDetailsController' => 'DifferentialController', | ||||
|     'DifferentialRevisionDependedOnByRevisionEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DifferentialRevisionDependsOnRevisionEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DifferentialRevisionDetailView' => 'AphrontView', | ||||
|     'DifferentialRevisionEditController' => 'DifferentialController', | ||||
|     'DifferentialRevisionHasCommitEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DifferentialRevisionHasReviewerEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DifferentialRevisionHasTaskEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DifferentialRevisionIDField' => 'DifferentialCustomField', | ||||
|     'DifferentialRevisionLandController' => 'DifferentialController', | ||||
| @@ -3502,6 +3513,7 @@ phutil_register_library_map(array( | ||||
|     'DiffusionCommitChangeTableView' => 'DiffusionView', | ||||
|     'DiffusionCommitController' => 'DiffusionController', | ||||
|     'DiffusionCommitEditController' => 'DiffusionController', | ||||
|     'DiffusionCommitHasRevisionEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DiffusionCommitHasTaskEdgeType' => 'PhabricatorEdgeType', | ||||
|     'DiffusionCommitHash' => 'Phobject', | ||||
|     'DiffusionCommitHookEngine' => 'Phobject', | ||||
|   | ||||
| @@ -41,7 +41,7 @@ final class DifferentialCommentPreviewController | ||||
|         break; | ||||
|     } | ||||
|  | ||||
|     $edge_reviewer = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|     $edge_reviewer = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|  | ||||
|     $reviewers = $request->getStrList('reviewers'); | ||||
|     if (DifferentialAction::allowReviewers($action) && $reviewers) { | ||||
|   | ||||
| @@ -33,7 +33,7 @@ final class DifferentialCommentSaveController | ||||
|     $type_comment = PhabricatorTransactions::TYPE_COMMENT; | ||||
|     $type_inline = DifferentialTransaction::TYPE_INLINE; | ||||
|  | ||||
|     $edge_reviewer = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|     $edge_reviewer = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|  | ||||
|     $xactions = array(); | ||||
|  | ||||
|   | ||||
| @@ -30,7 +30,7 @@ final class DifferentialDependenciesField | ||||
|   public function getRequiredHandlePHIDsForPropertyView() { | ||||
|     return PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $this->getObject()->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_DEPENDED_ON_BY_DREV); | ||||
|       DifferentialRevisionDependedOnByRevisionEdgeType::EDGECONST); | ||||
|   } | ||||
|  | ||||
|   public function renderPropertyViewValue(array $handles) { | ||||
|   | ||||
| @@ -34,7 +34,7 @@ final class DifferentialDependsOnField | ||||
|   public function getRequiredHandlePHIDsForPropertyView() { | ||||
|     return PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $this->getObject()->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_DEPENDS_ON_DREV); | ||||
|       DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST); | ||||
|   } | ||||
|  | ||||
|   public function renderPropertyViewValue(array $handles) { | ||||
| @@ -56,7 +56,7 @@ final class DifferentialDependsOnField | ||||
|   public function getConduitDictionaryValue() { | ||||
|     return PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $this->getObject()->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_DEPENDS_ON_DREV); | ||||
|       DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST); | ||||
|   } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -85,7 +85,7 @@ final class DifferentialReviewersField | ||||
|  | ||||
|   public function getApplicationTransactionMetadata() { | ||||
|     return array( | ||||
|       'edge:type' => PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER, | ||||
|       'edge:type' => DifferentialRevisionHasReviewerEdgeType::EDGECONST, | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,16 @@ | ||||
| <?php | ||||
|  | ||||
| final class DifferentialReviewerForRevisionEdgeType | ||||
|   extends PhabricatorEdgeType { | ||||
|  | ||||
|   const EDGECONST = 36; | ||||
|  | ||||
|   public function getInverseEdgeConstant() { | ||||
|     return DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,103 @@ | ||||
| <?php | ||||
|  | ||||
| final class DifferentialRevisionDependedOnByRevisionEdgeType | ||||
|   extends PhabricatorEdgeType { | ||||
|  | ||||
|   const EDGECONST = 6; | ||||
|  | ||||
|   public function getInverseEdgeConstant() { | ||||
|     return DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   public function getTransactionAddString( | ||||
|     $actor, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s dependent revision(s): %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionRemoveString( | ||||
|     $actor, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s dependent revision(s): %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionEditString( | ||||
|     $actor, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited dependent revision(s), added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedAddString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s dependent revision(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $object, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedRemoveString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s dependent revision(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $object, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedEditString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited dependent revision(s) for %s, added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $object, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,107 @@ | ||||
| <?php | ||||
|  | ||||
| final class DifferentialRevisionDependsOnRevisionEdgeType | ||||
|   extends PhabricatorEdgeType { | ||||
|  | ||||
|   const EDGECONST = 5; | ||||
|  | ||||
|   public function getInverseEdgeConstant() { | ||||
|     return DifferentialRevisionDependedOnByRevisionEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   public function shouldPreventCycles() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   public function getTransactionAddString( | ||||
|     $actor, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s dependencie(s): %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionRemoveString( | ||||
|     $actor, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s dependencie(s): %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionEditString( | ||||
|     $actor, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited dependencie(s), added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedAddString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s dependencie(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $object, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedRemoveString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s dependencie(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $object, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedEditString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited dependencie(s) for %s, added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $object, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,102 @@ | ||||
| <?php | ||||
|  | ||||
| final class DifferentialRevisionHasCommitEdgeType extends PhabricatorEdgeType { | ||||
|  | ||||
|   const EDGECONST = 31; | ||||
|  | ||||
|   public function getInverseEdgeConstant() { | ||||
|     return DiffusionCommitHasRevisionEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   public function getTransactionAddString( | ||||
|     $actor, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s commit(s): %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionRemoveString( | ||||
|     $actor, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s commit(s): %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionEditString( | ||||
|     $actor, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited commit(s), added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedAddString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s commit(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $object, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedRemoveString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s commit(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $object, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedEditString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited commit(s) for %s, added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $object, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,103 @@ | ||||
| <?php | ||||
|  | ||||
| final class DifferentialRevisionHasReviewerEdgeType | ||||
|   extends PhabricatorEdgeType { | ||||
|  | ||||
|   const EDGECONST = 35; | ||||
|  | ||||
|   public function getInverseEdgeConstant() { | ||||
|     return DifferentialReviewerForRevisionEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   public function getTransactionAddString( | ||||
|     $actor, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s reviewer(s): %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionRemoveString( | ||||
|     $actor, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s reviewer(s): %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getTransactionEditString( | ||||
|     $actor, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited reviewer(s), added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedAddString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $add_count, | ||||
|     $add_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s added %s reviewer(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $add_count, | ||||
|       $object, | ||||
|       $add_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedRemoveString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s removed %s reviewer(s) for %s: %s.', | ||||
|       $actor, | ||||
|       $rem_count, | ||||
|       $object, | ||||
|       $rem_edges); | ||||
|   } | ||||
|  | ||||
|   public function getFeedEditString( | ||||
|     $actor, | ||||
|     $object, | ||||
|     $total_count, | ||||
|     $add_count, | ||||
|     $add_edges, | ||||
|     $rem_count, | ||||
|     $rem_edges) { | ||||
|  | ||||
|     return pht( | ||||
|       '%s edited reviewer(s) for %s, added %s: %s; removed %s: %s.', | ||||
|       $actor, | ||||
|       $object, | ||||
|       $add_count, | ||||
|       $add_edges, | ||||
|       $rem_count, | ||||
|       $rem_edges); | ||||
|   } | ||||
| } | ||||
| @@ -269,7 +269,7 @@ final class DifferentialTransactionEditor | ||||
|  | ||||
|     $status_plan = ArcanistDifferentialRevisionStatus::CHANGES_PLANNED; | ||||
|  | ||||
|     $edge_reviewer = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|     $edge_reviewer = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|     $edge_ref_task = DifferentialRevisionHasTaskEdgeType::EDGECONST; | ||||
|  | ||||
|     $is_sticky_accept = PhabricatorEnv::getEnvConfig( | ||||
| @@ -565,7 +565,7 @@ final class DifferentialTransactionEditor | ||||
|     $result = parent::mergeEdgeData($type, $u, $v); | ||||
|  | ||||
|     switch ($type) { | ||||
|       case PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER: | ||||
|       case DifferentialRevisionHasReviewerEdgeType::EDGECONST: | ||||
|         // When the same reviewer has their status updated by multiple | ||||
|         // transactions, we want the strongest status to win. An example of | ||||
|         // this is when a user adds a comment and also accepts a revision which | ||||
| @@ -721,7 +721,7 @@ final class DifferentialTransactionEditor | ||||
|       switch ($type) { | ||||
|         case PhabricatorTransactions::TYPE_EDGE: | ||||
|           switch ($xaction->getMetadataValue('edge:type')) { | ||||
|             case PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER: | ||||
|             case DifferentialRevisionHasReviewerEdgeType::EDGECONST: | ||||
|  | ||||
|               // Prevent the author from becoming a reviewer. | ||||
|  | ||||
| @@ -1299,8 +1299,8 @@ final class DifferentialTransactionEditor | ||||
|       unset($rev_phids[$object->getPHID()]); | ||||
|  | ||||
|       if ($revs) { | ||||
|         $edge_depends = PhabricatorEdgeConfig::TYPE_DREV_DEPENDS_ON_DREV; | ||||
|         $edges[$edge_depends] = $rev_phids; | ||||
|         $depends = DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST; | ||||
|         $edges[$depends] = $rev_phids; | ||||
|       } | ||||
|     } | ||||
|  | ||||
| @@ -1608,7 +1608,7 @@ final class DifferentialTransactionEditor | ||||
|     } | ||||
|  | ||||
|     if ($value) { | ||||
|       $edge_reviewer = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|       $edge_reviewer = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|  | ||||
|       $xactions[] = id(new DifferentialTransaction()) | ||||
|         ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) | ||||
|   | ||||
| @@ -639,7 +639,7 @@ final class DifferentialRevisionQuery | ||||
|         'AND e_reviewers.type = %s '. | ||||
|         'AND e_reviewers.dst in (%Ls)', | ||||
|         PhabricatorEdgeConfig::TABLE_NAME_EDGE, | ||||
|         PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER, | ||||
|         DifferentialRevisionHasReviewerEdgeType::EDGECONST, | ||||
|         $this->reviewers); | ||||
|     } | ||||
|  | ||||
| @@ -900,7 +900,7 @@ final class DifferentialRevisionQuery | ||||
|   private function loadRelationships($conn_r, array $revisions) { | ||||
|     assert_instances_of($revisions, 'DifferentialRevision'); | ||||
|  | ||||
|     $type_reviewer = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|     $type_reviewer = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|     $type_subscriber = PhabricatorEdgeConfig::TYPE_OBJECT_HAS_SUBSCRIBER; | ||||
|  | ||||
|     $edges = id(new PhabricatorEdgeQuery()) | ||||
| @@ -1019,7 +1019,7 @@ final class DifferentialRevisionQuery | ||||
|     array $revisions) { | ||||
|  | ||||
|     assert_instances_of($revisions, 'DifferentialRevision'); | ||||
|     $edge_type = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|     $edge_type = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|  | ||||
|     $edges = id(new PhabricatorEdgeQuery()) | ||||
|       ->withSourcePHIDs(mpull($revisions, 'getPHID')) | ||||
| @@ -1125,7 +1125,7 @@ final class DifferentialRevisionQuery | ||||
|     // Find all the project reviewers which the user may have authority over. | ||||
|     $project_phids = array(); | ||||
|     $project_type = PhabricatorProjectProjectPHIDType::TYPECONST; | ||||
|     $edge_type = PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER; | ||||
|     $edge_type = DifferentialRevisionHasReviewerEdgeType::EDGECONST; | ||||
|     foreach ($edges as $src => $types) { | ||||
|       if (!$allow_self) { | ||||
|         if ($revision_map[$src]->getAuthorPHID() == $viewer_phid) { | ||||
|   | ||||
| @@ -226,7 +226,7 @@ final class DifferentialRevision extends DifferentialDAO | ||||
|  | ||||
|     $reviewer_phids = PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $this->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER); | ||||
|       DifferentialRevisionHasReviewerEdgeType::EDGECONST); | ||||
|     $reviewer_phids = array_reverse($reviewer_phids); | ||||
|     foreach ($reviewer_phids as $phid) { | ||||
|       $data[] = array( | ||||
|   | ||||
| @@ -201,7 +201,7 @@ final class DifferentialTransaction extends PhabricatorApplicationTransaction { | ||||
|         break; | ||||
|       case PhabricatorTransactions::TYPE_EDGE: | ||||
|         switch ($this->getMetadataValue('edge:type')) { | ||||
|           case PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER: | ||||
|           case DifferentialRevisionHasReviewerEdgeType::EDGECONST: | ||||
|             $tags[] = MetaMTANotificationType::TYPE_DIFFERENTIAL_REVIEWERS; | ||||
|             break; | ||||
|         } | ||||
| @@ -495,7 +495,7 @@ final class DifferentialTransaction extends PhabricatorApplicationTransaction { | ||||
|         } | ||||
|       case PhabricatorTransactions::TYPE_EDGE: | ||||
|         switch ($this->getMetadataValue('edge:type')) { | ||||
|           case PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER: | ||||
|           case DifferentialRevisionHasReviewerEdgeType::EDGECONST: | ||||
|             return 'fa-user'; | ||||
|         } | ||||
|     } | ||||
| @@ -571,7 +571,7 @@ final class DifferentialTransaction extends PhabricatorApplicationTransaction { | ||||
|     switch ($this->getTransactionType()) { | ||||
|       case PhabricatorTransactions::TYPE_EDGE: | ||||
|         switch ($this->getMetadataValue('edge:type')) { | ||||
|           case PhabricatorEdgeConfig::TYPE_DREV_HAS_REVIEWER: | ||||
|           case DifferentialRevisionHasReviewerEdgeType::EDGECONST: | ||||
|             return pht( | ||||
|               'The reviewers you are trying to add are already reviewing '. | ||||
|               'this revision.'); | ||||
|   | ||||
| @@ -418,7 +418,7 @@ final class DiffusionCommitController extends DiffusionController { | ||||
|       ->withSourcePHIDs(array($commit_phid)) | ||||
|       ->withEdgeTypes(array( | ||||
|         DiffusionCommitHasTaskEdgeType::EDGECONST, | ||||
|         PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV, | ||||
|         DiffusionCommitHasRevisionEdgeType::EDGECONST, | ||||
|       )); | ||||
|  | ||||
|     $edges = $edge_query->execute(); | ||||
| @@ -426,7 +426,7 @@ final class DiffusionCommitController extends DiffusionController { | ||||
|     $task_phids = array_keys( | ||||
|       $edges[$commit_phid][DiffusionCommitHasTaskEdgeType::EDGECONST]); | ||||
|     $revision_phid = key( | ||||
|       $edges[$commit_phid][PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV]); | ||||
|       $edges[$commit_phid][DiffusionCommitHasRevisionEdgeType::EDGECONST]); | ||||
|  | ||||
|     $phids = $edge_query->getDestinationPHIDs(array($commit_phid)); | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,15 @@ | ||||
| <?php | ||||
|  | ||||
| final class DiffusionCommitHasRevisionEdgeType extends PhabricatorEdgeType { | ||||
|  | ||||
|   const EDGECONST = 32; | ||||
|  | ||||
|   public function getInverseEdgeConstant() { | ||||
|     return DifferentialRevisionHasCommitEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
| } | ||||
| @@ -28,7 +28,7 @@ final class DiffusionHovercardEventListener extends PhabricatorEventListener { | ||||
|  | ||||
|     $revision = PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $commit->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV); | ||||
|       DiffusionCommitHasRevisionEdgeType::EDGECONST); | ||||
|     $revision = reset($revision); | ||||
|  | ||||
|     $author = $commit->getAuthorPHID(); | ||||
|   | ||||
| @@ -498,7 +498,7 @@ final class ManiphestTaskDetailController extends ManiphestController { | ||||
|     $commit_phids = array_keys( | ||||
|       $edges[ManiphestTaskHasCommitEdgeType::EDGECONST]); | ||||
|     if ($commit_phids) { | ||||
|       $commit_drev = PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV; | ||||
|       $commit_drev = DiffusionCommitHasRevisionEdgeType::EDGECONST; | ||||
|       $drev_edges = id(new PhabricatorEdgeQuery()) | ||||
|         ->withSourcePHIDs($commit_phids) | ||||
|         ->withEdgeTypes(array($commit_drev)) | ||||
|   | ||||
| @@ -7,7 +7,7 @@ final class ManiphestTaskDependedOnByTaskEdgeType extends PhabricatorEdgeType { | ||||
|     return ManiphestTaskDependsOnTaskEdgeType::EDGECONST; | ||||
|   } | ||||
|  | ||||
|   public function shouldWriteInverseTransaction() { | ||||
|   public function shouldWriteInverseTransactions() { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -94,7 +94,7 @@ final class ReleephCommitFinder { | ||||
|     // right rule in the future. | ||||
|     $phids = PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $phabricator_repository_commit->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV); | ||||
|       DiffusionCommitHasRevisionEdgeType::EDGECONST); | ||||
|     if ($phids) { | ||||
|       $this->objectPHID = head($phids); | ||||
|     } | ||||
|   | ||||
| @@ -28,6 +28,6 @@ final class ReleephDependsOnFieldSpecification | ||||
|  | ||||
|     return PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
|       $revision->getPHID(), | ||||
|       PhabricatorEdgeConfig::TYPE_DREV_DEPENDS_ON_DREV); | ||||
|       DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -126,7 +126,7 @@ abstract class PhabricatorRepositoryCommitMessageParserWorker | ||||
|             'precommitRevisionStatus', | ||||
|             $revision->getStatus()); | ||||
|         } | ||||
|         $commit_drev = PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV; | ||||
|         $commit_drev = DiffusionCommitHasRevisionEdgeType::EDGECONST; | ||||
|         id(new PhabricatorEdgeEditor()) | ||||
|           ->addEdge($commit->getPHID(), $commit_drev, $revision->getPHID()) | ||||
|           ->save(); | ||||
|   | ||||
| @@ -297,7 +297,7 @@ final class PhabricatorSearchAttachController | ||||
|         $t_mock => PhabricatorEdgeConfig::TYPE_TASK_HAS_MOCK, | ||||
|       ), | ||||
|       $t_drev => array( | ||||
|         $t_drev => PhabricatorEdgeConfig::TYPE_DREV_DEPENDS_ON_DREV, | ||||
|         $t_drev => DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST, | ||||
|         $t_task => DifferentialRevisionHasTaskEdgeType::EDGECONST, | ||||
|       ), | ||||
|       $t_mock => array( | ||||
|   | ||||
| @@ -5,9 +5,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|   const TABLE_NAME_EDGE       = 'edge'; | ||||
|   const TABLE_NAME_EDGEDATA   = 'edgedata'; | ||||
|  | ||||
|   const TYPE_DREV_DEPENDS_ON_DREV       = 5; | ||||
|   const TYPE_DREV_DEPENDED_ON_BY_DREV   = 6; | ||||
|  | ||||
|   const TYPE_PROJ_MEMBER                = 13; | ||||
|   const TYPE_MEMBER_OF_PROJ             = 14; | ||||
|  | ||||
| @@ -20,15 +17,9 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|   const TYPE_OBJECT_HAS_FILE            = 25; | ||||
|   const TYPE_FILE_HAS_OBJECT            = 26; | ||||
|  | ||||
|   const TYPE_DREV_HAS_COMMIT            = 31; | ||||
|   const TYPE_COMMIT_HAS_DREV            = 32; | ||||
|  | ||||
|   const TYPE_OBJECT_HAS_CONTRIBUTOR     = 33; | ||||
|   const TYPE_CONTRIBUTED_TO_OBJECT      = 34; | ||||
|  | ||||
|   const TYPE_DREV_HAS_REVIEWER          = 35; | ||||
|   const TYPE_REVIEWER_FOR_DREV          = 36; | ||||
|  | ||||
|   const TYPE_MOCK_HAS_TASK              = 37; | ||||
|   const TYPE_TASK_HAS_MOCK              = 38; | ||||
|  | ||||
| @@ -112,9 +103,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|  | ||||
|   private static function getInverse($edge_type) { | ||||
|     static $map = array( | ||||
|       self::TYPE_DREV_DEPENDS_ON_DREV => self::TYPE_DREV_DEPENDED_ON_BY_DREV, | ||||
|       self::TYPE_DREV_DEPENDED_ON_BY_DREV => self::TYPE_DREV_DEPENDS_ON_DREV, | ||||
|  | ||||
|       self::TYPE_PROJ_MEMBER => self::TYPE_MEMBER_OF_PROJ, | ||||
|       self::TYPE_MEMBER_OF_PROJ => self::TYPE_PROJ_MEMBER, | ||||
|  | ||||
| @@ -127,9 +115,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|       self::TYPE_OBJECT_HAS_FILE => self::TYPE_FILE_HAS_OBJECT, | ||||
|       self::TYPE_FILE_HAS_OBJECT => self::TYPE_OBJECT_HAS_FILE, | ||||
|  | ||||
|       self::TYPE_DREV_HAS_COMMIT => self::TYPE_COMMIT_HAS_DREV, | ||||
|       self::TYPE_COMMIT_HAS_DREV => self::TYPE_DREV_HAS_COMMIT, | ||||
|  | ||||
|       self::TYPE_OBJECT_HAS_CONTRIBUTOR => self::TYPE_CONTRIBUTED_TO_OBJECT, | ||||
|       self::TYPE_CONTRIBUTED_TO_OBJECT => self::TYPE_OBJECT_HAS_CONTRIBUTOR, | ||||
|  | ||||
| @@ -142,9 +127,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|       self::TYPE_PHOB_HAS_ASANASUBTASK => self::TYPE_ASANASUBTASK_HAS_PHOB, | ||||
|       self::TYPE_ASANASUBTASK_HAS_PHOB => self::TYPE_PHOB_HAS_ASANASUBTASK, | ||||
|  | ||||
|       self::TYPE_DREV_HAS_REVIEWER => self::TYPE_REVIEWER_FOR_DREV, | ||||
|       self::TYPE_REVIEWER_FOR_DREV => self::TYPE_DREV_HAS_REVIEWER, | ||||
|  | ||||
|       self::TYPE_PHOB_HAS_JIRAISSUE => self::TYPE_JIRAISSUE_HAS_PHOB, | ||||
|       self::TYPE_JIRAISSUE_HAS_PHOB => self::TYPE_PHOB_HAS_JIRAISSUE, | ||||
|  | ||||
| @@ -164,7 +146,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|   private static function shouldPreventCycles($edge_type) { | ||||
|     static $map = array( | ||||
|       self::TYPE_TEST_NO_CYCLE => true, | ||||
|       self::TYPE_DREV_DEPENDS_ON_DREV   => true, | ||||
|     ); | ||||
|     return isset($map[$edge_type]); | ||||
|   } | ||||
| @@ -196,15 +177,8 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|  | ||||
|   public static function getEditStringForEdgeType($type) { | ||||
|     switch ($type) { | ||||
|       case self::TYPE_DREV_HAS_COMMIT: | ||||
|         return '%s edited commit(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_MOCK_HAS_TASK: | ||||
|         return '%s edited task(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_DREV_DEPENDS_ON_DREV: | ||||
|       case self::TYPE_DREV_DEPENDED_ON_BY_DREV: | ||||
|       case self::TYPE_COMMIT_HAS_DREV: | ||||
|       case self::TYPE_REVIEWER_FOR_DREV: | ||||
|         return '%s edited revision(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_PROJ_MEMBER: | ||||
|         return '%s edited member(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_MEMBER_OF_PROJ: | ||||
| @@ -222,8 +196,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|         return '%s edited file(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_OBJECT_HAS_CONTRIBUTOR: | ||||
|         return '%s edited contributor(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_DREV_HAS_REVIEWER: | ||||
|         return '%s edited reviewer(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_TASK_HAS_MOCK: | ||||
|         return '%s edited mock(s), added %d: %s; removed %d: %s.'; | ||||
|       case self::TYPE_DASHBOARD_HAS_PANEL: | ||||
| @@ -242,16 +214,8 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|  | ||||
|   public static function getAddStringForEdgeType($type) { | ||||
|     switch ($type) { | ||||
|       case self::TYPE_DREV_HAS_COMMIT: | ||||
|         return '%s added %d commit(s): %s.'; | ||||
|       case self::TYPE_DREV_DEPENDS_ON_DREV: | ||||
|         return '%s added %d dependencie(s): %s.'; | ||||
|       case self::TYPE_MOCK_HAS_TASK: | ||||
|         return '%s added %d task(s): %s.'; | ||||
|       case self::TYPE_DREV_DEPENDED_ON_BY_DREV: | ||||
|       case self::TYPE_COMMIT_HAS_DREV: | ||||
|       case self::TYPE_REVIEWER_FOR_DREV: | ||||
|         return '%s added %d revision(s): %s.'; | ||||
|       case self::TYPE_PROJ_MEMBER: | ||||
|         return '%s added %d member(s): %s.'; | ||||
|       case self::TYPE_MEMBER_OF_PROJ: | ||||
| @@ -264,8 +228,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|         return '%s added %d file(s): %s.'; | ||||
|       case self::TYPE_OBJECT_HAS_CONTRIBUTOR: | ||||
|         return '%s added %d contributor(s): %s.'; | ||||
|       case self::TYPE_DREV_HAS_REVIEWER: | ||||
|         return '%s added %d reviewer(s): %s.'; | ||||
|       case self::TYPE_TASK_HAS_MOCK: | ||||
|         return '%s added %d mock(s): %s.'; | ||||
|       case self::TYPE_DASHBOARD_HAS_PANEL: | ||||
| @@ -286,15 +248,8 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|  | ||||
|   public static function getRemoveStringForEdgeType($type) { | ||||
|     switch ($type) { | ||||
|       case self::TYPE_DREV_HAS_COMMIT: | ||||
|         return '%s removed %d commit(s): %s.'; | ||||
|       case self::TYPE_MOCK_HAS_TASK: | ||||
|         return '%s removed %d task(s): %s.'; | ||||
|       case self::TYPE_DREV_DEPENDS_ON_DREV: | ||||
|       case self::TYPE_DREV_DEPENDED_ON_BY_DREV: | ||||
|       case self::TYPE_COMMIT_HAS_DREV: | ||||
|       case self::TYPE_REVIEWER_FOR_DREV: | ||||
|         return '%s removed %d revision(s): %s.'; | ||||
|       case self::TYPE_PROJ_MEMBER: | ||||
|         return '%s removed %d member(s): %s.'; | ||||
|       case self::TYPE_MEMBER_OF_PROJ: | ||||
| @@ -307,8 +262,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|         return '%s removed %d file(s): %s.'; | ||||
|       case self::TYPE_OBJECT_HAS_CONTRIBUTOR: | ||||
|         return '%s removed %d contributor(s): %s.'; | ||||
|       case self::TYPE_DREV_HAS_REVIEWER: | ||||
|         return '%s removed %d reviewer(s): %s.'; | ||||
|       case self::TYPE_TASK_HAS_MOCK: | ||||
|         return '%s removed %d mock(s): %s.'; | ||||
|       case self::TYPE_DASHBOARD_HAS_PANEL: | ||||
| @@ -329,15 +282,8 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|  | ||||
|   public static function getFeedStringForEdgeType($type) { | ||||
|     switch ($type) { | ||||
|       case self::TYPE_DREV_HAS_COMMIT: | ||||
|         return '%s updated commits of %s.'; | ||||
|       case self::TYPE_MOCK_HAS_TASK: | ||||
|         return '%s updated tasks of %s.'; | ||||
|       case self::TYPE_DREV_DEPENDS_ON_DREV: | ||||
|       case self::TYPE_DREV_DEPENDED_ON_BY_DREV: | ||||
|       case self::TYPE_COMMIT_HAS_DREV: | ||||
|       case self::TYPE_REVIEWER_FOR_DREV: | ||||
|         return '%s updated revisions of %s.'; | ||||
|       case self::TYPE_PROJ_MEMBER: | ||||
|         return '%s updated members of %s.'; | ||||
|       case self::TYPE_MEMBER_OF_PROJ: | ||||
| @@ -350,8 +296,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { | ||||
|         return '%s updated files of %s.'; | ||||
|       case self::TYPE_OBJECT_HAS_CONTRIBUTOR: | ||||
|         return '%s updated contributors of %s.'; | ||||
|       case self::TYPE_DREV_HAS_REVIEWER: | ||||
|         return '%s updated reviewers of %s.'; | ||||
|       case self::TYPE_TASK_HAS_MOCK: | ||||
|         return '%s updated mocks of %s.'; | ||||
|       case self::TYPE_PANEL_HAS_DASHBOARD: | ||||
|   | ||||
| @@ -67,27 +67,27 @@ abstract class PhabricatorBaseEnglishTranslation | ||||
|         'removed mocks: %2$s', | ||||
|       ), | ||||
|  | ||||
|       'added %d dependencie(s): %s' => array( | ||||
|       'added %s dependencie(s): %s' => array( | ||||
|         'added dependency: %2$s', | ||||
|         'added dependencies: %2$s', | ||||
|       ), | ||||
|  | ||||
|       'removed %d dependencie(s): %s' => array( | ||||
|       'removed %s dependencie(s): %s' => array( | ||||
|         'removed dependency: %2$s', | ||||
|         'removed dependencies: %2$s', | ||||
|       ), | ||||
|  | ||||
|       'added %d revision(s): %s' => array( | ||||
|       'added %s revision(s): %s' => array( | ||||
|         'added revision: %2$s', | ||||
|         'added revisions: %2$s', | ||||
|       ), | ||||
|  | ||||
|       'removed %d revision(s): %s' => array( | ||||
|       'removed %s revision(s): %s' => array( | ||||
|         'removed revision: %2$s', | ||||
|         'removed revisions: %2$s', | ||||
|       ), | ||||
|  | ||||
|       '%s edited revision(s), added %d: %s; removed %d: %s.' => | ||||
|       '%s edited revision(s), added %s: %s; removed %s: %s.' => | ||||
|         '%s edited revisions, added: %3$s; removed: %5$s', | ||||
|  | ||||
|       'There are %d raw fact(s) in storage.' => array( | ||||
| @@ -437,17 +437,17 @@ abstract class PhabricatorBaseEnglishTranslation | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s edited reviewer(s), added %d: %s; removed %d: %s.' => | ||||
|       '%s edited reviewer(s), added %s: %s; removed %s: %s.' => | ||||
|         '%s edited reviewers, added: %4$s; removed: %6$s', | ||||
|  | ||||
|       '%s added %d reviewer(s): %s.' => array( | ||||
|       '%s added %s reviewer(s): %s.' => array( | ||||
|         array( | ||||
|           '%s added a reviewer: %3$s.', | ||||
|           '%s added reviewers: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s removed %d reviewer(s): %s.' => array( | ||||
|       '%s removed %s reviewer(s): %s.' => array( | ||||
|         array( | ||||
|           '%s removed a reviewer: %3$s.', | ||||
|           '%s removed reviewers: %3$s.', | ||||
| @@ -677,49 +677,49 @@ abstract class PhabricatorBaseEnglishTranslation | ||||
|         '%s changed files, attached: %3$s; detached: %5$s', | ||||
|  | ||||
|  | ||||
|       '%s added %d dependencie(s): %s.' => array( | ||||
|       '%s added %s dependencie(s): %s.' => array( | ||||
|         array( | ||||
|           '%s added a dependency: %3$s', | ||||
|           '%s added dependencies: %3$s', | ||||
|           '%s added a dependency: %3$s.', | ||||
|           '%s added dependencies: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s removed %d dependencie(s): %s.' => array( | ||||
|       '%s removed %s dependencie(s): %s.' => array( | ||||
|         array( | ||||
|           '%s removed a dependency: %3$s.', | ||||
|           '%s removed dependencies: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s added %d revision(s): %s.' => array( | ||||
|       '%s added %s dependent revision(s): %s.' => array( | ||||
|         array( | ||||
|           '%s added a revision: %3$s.', | ||||
|           '%s added revisions: %3$s.', | ||||
|           '%s added a dependent revision: %3$s.', | ||||
|           '%s added dependent revisions: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s removed %d revision(s): %s.' => array( | ||||
|       '%s removed %s dependent revision(s): %s.' => array( | ||||
|         array( | ||||
|           '%s removed a revision: %3$s.', | ||||
|           '%s removed revisions: %3$s.', | ||||
|           '%s removed a dependent revision: %3$s.', | ||||
|           '%s removed dependent revisions: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s added %d commit(s): %s.' => array( | ||||
|       '%s added %s commit(s): %s.' => array( | ||||
|         array( | ||||
|           '%s added a commit: %3$s.', | ||||
|           '%s added commits: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s removed %d commit(s): %s.' => array( | ||||
|       '%s removed %s commit(s): %s.' => array( | ||||
|         array( | ||||
|           '%s removed a commit: %3$s.', | ||||
|           '%s removed commits: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s edited commit(s), added %d: %s; removed %d: %s.' => | ||||
|       '%s edited commit(s), added %s: %s; removed %s: %s.' => | ||||
|         '%s edited commits, added %3$s; removed %5$s.', | ||||
|  | ||||
|       '%s changed project member(s), added %d: %s; removed %d: %s' => | ||||
| @@ -846,20 +846,6 @@ abstract class PhabricatorBaseEnglishTranslation | ||||
|       '%s edited %s task(s) for %s, added %s: %s; removed %s: %s.' => | ||||
|         '%s edited tasks for %3$s, added: %5$s; removed %7$s.', | ||||
|  | ||||
|       '%s added %s commit(s): %s.' => array( | ||||
|         array( | ||||
|           '%s added a commit: %3$s.', | ||||
|           '%s added commits: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s removed %s commit(s): %s.' => array( | ||||
|         array( | ||||
|           '%s removed a commit: %3$s.', | ||||
|           '%s removed commits: %3$s.', | ||||
|         ), | ||||
|       ), | ||||
|  | ||||
|       '%s edited %s commit(s), added %s: %s; removed %s: %s.' => | ||||
|         '%s edited commits, added %4$s; removed %6$s.', | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Joshua Spence
					Joshua Spence