From bc61d09f5553553fdd92ba54cd70ab8368ba9f16 Mon Sep 17 00:00:00 2001 From: epriestley Date: Thu, 31 Jan 2019 08:21:31 -0800 Subject: [PATCH] Allow parent and child revisions to be modified via Conduit Summary: See PHI1048. We have similar transactions elsewhere already (particularly, on tasks) and these edges don't have any special properties (like "Closes Txx As Wontfix" edges do) so this doesn't create any sort of peril. Test Plan: {F6170556} Reviewers: amckinley Reviewed By: amckinley Differential Revision: https://secure.phabricator.com/D20075 --- .../editor/DifferentialRevisionEditEngine.php | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/applications/differential/editor/DifferentialRevisionEditEngine.php b/src/applications/differential/editor/DifferentialRevisionEditEngine.php index 07b693044f..9c399036d5 100644 --- a/src/applications/differential/editor/DifferentialRevisionEditEngine.php +++ b/src/applications/differential/editor/DifferentialRevisionEditEngine.php @@ -235,6 +235,32 @@ final class DifferentialRevisionEditEngine ->setConduitTypeDescription(pht('List of tasks.')) ->setValue(array()); + $fields[] = id(new PhabricatorHandlesEditField()) + ->setKey('parents') + ->setUseEdgeTransactions(true) + ->setIsFormField(false) + ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) + ->setMetadataValue( + 'edge:type', + DifferentialRevisionDependsOnRevisionEdgeType::EDGECONST) + ->setDescription(pht('Parent revisions of this revision.')) + ->setConduitDescription(pht('Change associated parent revisions.')) + ->setConduitTypeDescription(pht('List of revisions.')) + ->setValue(array()); + + $fields[] = id(new PhabricatorHandlesEditField()) + ->setKey('children') + ->setUseEdgeTransactions(true) + ->setIsFormField(false) + ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) + ->setMetadataValue( + 'edge:type', + DifferentialRevisionDependedOnByRevisionEdgeType::EDGECONST) + ->setDescription(pht('Child revisions of this revision.')) + ->setConduitDescription(pht('Change associated child revisions.')) + ->setConduitTypeDescription(pht('List of revisions.')) + ->setValue(array()); + $actions = DifferentialRevisionActionTransaction::loadAllActions(); $actions = msortv($actions, 'getRevisionActionOrderVector');