diff --git a/src/applications/audit/editor/PhabricatorAuditEditor.php b/src/applications/audit/editor/PhabricatorAuditEditor.php --- a/src/applications/audit/editor/PhabricatorAuditEditor.php +++ b/src/applications/audit/editor/PhabricatorAuditEditor.php @@ -524,12 +524,14 @@ array $xactions) { // not every code path loads the repository so tread carefully + // TODO: They should, and then we should simplify this. if ($object->getRepository($assert_attached = false)) { $repository = $object->getRepository(); - if ($repository->isImporting()) { + if (!$repository->shouldPublish()) { return false; } } + return $this->isCommitMostlyImported($object); } @@ -822,10 +824,7 @@ switch ($xaction->getTransactionType()) { case PhabricatorAuditTransaction::TYPE_COMMIT: $repository = $object->getRepository(); - if ($repository->isImporting()) { - return false; - } - if ($repository->getDetail('herald-disabled')) { + if (!$repository->shouldPublish()) { return false; } return true; 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 @@ -676,6 +676,25 @@ } + /** + * Should this repository publish feed, notifications, audits, and email? + * + * We do not publish information about repositories during initial import, + * or if the repository has been set not to publish. + */ + public function shouldPublish() { + if ($this->isImporting()) { + return false; + } + + if ($this->getDetail('disable-herald')) { + return false; + } + + return true; + } + + /* -( Autoclose )---------------------------------------------------------- */ diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php --- a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php @@ -25,7 +25,7 @@ PhabricatorRepository $repository, PhabricatorRepositoryCommit $commit) { - if ($repository->getDetail('herald-disabled')) { + if (!$repository->shouldPublish()) { return; } diff --git a/src/applications/repository/worker/PhabricatorRepositoryPushMailWorker.php b/src/applications/repository/worker/PhabricatorRepositoryPushMailWorker.php --- a/src/applications/repository/worker/PhabricatorRepositoryPushMailWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryPushMailWorker.php @@ -22,16 +22,11 @@ ->executeOne(); $repository = $event->getRepository(); - if ($repository->isImporting()) { + if (!$repository->shouldPublish()) { // If the repository is still importing, don't send email. return; } - if ($repository->getDetail('herald-disabled')) { - // If publishing is disabled, don't send email. - return; - } - $logs = $event->getLogs(); list($ref_lines, $ref_list) = $this->renderRefs($logs);