diff --git a/src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php b/src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php --- a/src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php +++ b/src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php @@ -215,8 +215,7 @@ $track_value = $object->getDetail('branch-filter', array()); $track_value = array_keys($track_value); - $autoclose_value = $object->getDetail('close-commits-filter', array()); - $autoclose_value = array_keys($autoclose_value); + $autoclose_value = $object->getAutocloseOnlyRules(); $automation_instructions = pht( "Configure **Repository Automation** to allow Phabricator to ". diff --git a/src/applications/diffusion/management/DiffusionRepositoryBranchesManagementPanel.php b/src/applications/diffusion/management/DiffusionRepositoryBranchesManagementPanel.php --- a/src/applications/diffusion/management/DiffusionRepositoryBranchesManagementPanel.php +++ b/src/applications/diffusion/management/DiffusionRepositoryBranchesManagementPanel.php @@ -24,7 +24,7 @@ $has_any = $repository->getDetail('default-branch') || $repository->getDetail('branch-filter') || - $repository->getDetail('close-commits-filter'); + $repository->getAutocloseOnlyRules(); if ($has_any) { return 'fa-code-fork'; @@ -83,8 +83,10 @@ phutil_tag('em', array(), pht('Track All Branches'))); $view->addProperty(pht('Track Only'), $track_only); + $autoclose_rules = $repository->getAutocloseOnlyRules(); + $autoclose_rules = implode(', ', $autoclose_rules); $autoclose_only = nonempty( - $repository->getHumanReadableDetail('close-commits-filter', array()), + $autoclose_rules, phutil_tag('em', array(), pht('Autoclose On All Branches'))); $autoclose_disabled = false; diff --git a/src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php b/src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php --- a/src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php +++ b/src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php @@ -15,11 +15,11 @@ array( array( 'name' => 'demote', - 'param' => 'device/service', + 'param' => 'device|service', 'help' => pht( 'Demote a device (or all devices in a service) discarding '. - 'local changes. Clears stuck write locks and recovers from '. - 'lost leaders.'), + 'unsynchronized changes. Clears stuck write locks and recovers '. + 'from lost leaders.'), ), array( 'name' => 'promote', diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php --- a/src/applications/repository/storage/PhabricatorRepository.php +++ b/src/applications/repository/storage/PhabricatorRepository.php @@ -244,7 +244,6 @@ switch ($key) { case 'branch-filter': - case 'close-commits-filter': $value = array_keys($value); $value = implode(', ', $value); break; @@ -1202,6 +1201,16 @@ return null; } + public function getAutocloseOnlyRules() { + return array_keys($this->getDetail('close-commits-filter', array())); + } + + public function setAutocloseOnlyRules(array $rules) { + $rules = array_fill_keys($rules, true); + $this->setDetail('close-commits-filter', $rules); + return $this; + } + /* -( Repository URI Management )------------------------------------------ */ diff --git a/src/applications/repository/xaction/PhabricatorRepositoryAutocloseOnlyTransaction.php b/src/applications/repository/xaction/PhabricatorRepositoryAutocloseOnlyTransaction.php --- a/src/applications/repository/xaction/PhabricatorRepositoryAutocloseOnlyTransaction.php +++ b/src/applications/repository/xaction/PhabricatorRepositoryAutocloseOnlyTransaction.php @@ -6,11 +6,11 @@ const TRANSACTIONTYPE = 'repo:autoclose-only'; public function generateOldValue($object) { - return array_keys($object->getDetail('close-commits-filter', array())); + return $object->getAutocloseOnlyRules(); } public function applyInternalEffects($object, $value) { - $object->setDetail('close-commits-filter', array_fill_keys($value, true)); + $object->setAutocloseOnlyRules($value); } public function getTitle() {