From 760406762a6fdc5963e8b63df5840d19889c9a03 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 31 May 2019 06:15:28 -0700 Subject: [PATCH] When a revision is closed, always promote it out of draft Summary: Fixes T13300. Currently, if you create a revision and then immediately land it (either using `--draft` or just beating Harbormaster to the punch) it can be stuck in "Draft" forever. Instead, count landing changes like this as a publishing action. Test Plan: - Used `arc diff --hold` to create a revision, then pushed the commit immediately. - Before change: revision closed, but was stuck in draft. - After change: revision closed and was promoted out of draft. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13300 Differential Revision: https://secure.phabricator.com/D20565 --- .../xaction/DifferentialRevisionCloseTransaction.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php b/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php index 6832108dc3..1a6017a02f 100644 --- a/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php +++ b/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php @@ -44,6 +44,11 @@ final class DifferentialRevisionCloseTransaction $object->setProperty( DifferentialRevision::PROPERTY_CLOSED_FROM_ACCEPTED, $was_accepted); + + // See T13300. When a revision is closed, we promote it out of "Draft" + // immediately. This usually happens when a user creates a draft revision + // and then lands the associated commit before the revision leaves draft. + $object->setShouldBroadcast(true); } protected function validateAction($object, PhabricatorUser $viewer) {