From d27cd5fb9902ee9deff5d67b9beb255811e49048 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 12 Mar 2014 18:16:50 -0700 Subject: [PATCH] Disable Herald more aggressively when it's turned off for a repository Summary: Currently, disabling Herald only disables feed, notifications and email. Historically, audits didn't really create external effects so it made sense for Herald to only partially disable itself. With the advent of Harbormaster/Build Plans, it makes more sense for Herald to just stop doing anything. When this option is disabled, stop all audit/build/publish/feed/email actions for the repository. Test Plan: Ran `scripts/repository/reparse.php --herald`, etc. Reviewers: dctrwatson, btrahan Reviewed By: btrahan Subscribers: aran, epriestley Differential Revision: https://secure.phabricator.com/D8509 --- .../DiffusionRepositoryEditActionsController.php | 3 ++- .../worker/PhabricatorRepositoryCommitHeraldWorker.php | 9 ++++----- .../worker/PhabricatorRepositoryCommitOwnersWorker.php | 4 ++++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/applications/diffusion/controller/DiffusionRepositoryEditActionsController.php b/src/applications/diffusion/controller/DiffusionRepositoryEditActionsController.php index fe2e2f818b..a112650371 100644 --- a/src/applications/diffusion/controller/DiffusionRepositoryEditActionsController.php +++ b/src/applications/diffusion/controller/DiffusionRepositoryEditActionsController.php @@ -75,7 +75,8 @@ final class DiffusionRepositoryEditActionsController "Normally, Phabricator publishes notifications when it discovers ". "new commits. You can disable publishing for this repository by ". "turning off **Notify/Publish**. This will disable notifications, ". - "feed, and Herald for this repository.". + "feed, and Herald (including audits and build plans) for this ". + "repository.". "\n\n". "When Phabricator discovers a new commit, it can automatically ". "close associated revisions and tasks. If you don't want ". diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php index 7c7ac2d0de..cdf4087196 100644 --- a/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php @@ -33,6 +33,10 @@ final class PhabricatorRepositoryCommitHeraldWorker return; } + if ($repository->getDetail('herald-disabled')) { + return; + } + $data = id(new PhabricatorRepositoryCommitData())->loadOneWhere( 'commitID = %d', $commit->getID()); @@ -75,11 +79,6 @@ final class PhabricatorRepositoryCommitHeraldWorker $explicit_auditors = $this->createAuditsFromCommitMessage($commit, $data); - if ($repository->getDetail('herald-disabled')) { - // This just means "disable email"; audits are (mostly) idempotent. - return; - } - $this->publishFeedStory($repository, $commit, $data); $herald_targets = $adapter->getEmailPHIDs(); diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php index 71fa47fb30..e6b8630776 100644 --- a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php @@ -7,6 +7,10 @@ final class PhabricatorRepositoryCommitOwnersWorker PhabricatorRepository $repository, PhabricatorRepositoryCommit $commit) { + if ($repository->getDetail('herald-disabled')) { + return; + } + $affected_paths = PhabricatorOwnerPathQuery::loadAffectedPaths( $repository, $commit,