From 9b21274138cfec7dd05e352db65550219f0c52ee Mon Sep 17 00:00:00 2001 From: Joshua Spence Date: Sat, 10 Jan 2015 09:42:41 +1100 Subject: [PATCH] Allow `PhabricatorRepositoryCommitHeraldWorker` to continue on certain types of exceptions Summary: Fixes T6922. We should allow the commit pipeline to continue on certain types of exceptions, including `PhabricatorApplicationTransactionNoEffectException`. Test Plan: **Before** ```lang=bash > ./bin/repository reparse --herald rP2660b944bed4e4dde3e66303656b1d96d8b03e9b [2015-01-10 09:38:06] EXCEPTION: (PhabricatorApplicationTransactionNoEffectException) Transactions have no effect: - Edges already exist; transaction has no effect. at [/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1635] #0 PhabricatorApplicationTransactionEditor::filterTransactions(PhabricatorRepositoryCommit, array) called at [/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:649] #1 PhabricatorApplicationTransactionEditor::applyTransactions(PhabricatorRepositoryCommit, array) called at [/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php:91] #2 PhabricatorRepositoryCommitHeraldWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44] #3 PhabricatorRepositoryCommitParserWorker::doWork() called at [/src/infrastructure/daemon/workers/PhabricatorWorker.php:91] #4 PhabricatorWorker::executeTask() called at [/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php:297] #5 PhabricatorRepositoryManagementReparseWorkflow::execute(PhutilArgumentParser) called at [/src/parser/argument/PhutilArgumentParser.php:396] #6 PhutilArgumentParser::parseWorkflowsFull(array) called at [/src/parser/argument/PhutilArgumentParser.php:292] #7 PhutilArgumentParser::parseWorkflows(array) called at [/scripts/repository/manage_repositories.php:22] ``` **After** ```lang=bash > ./bin/repository reparse --herald rP2660b944bed4e4dde3e66303656b1d96d8b03e9b Done. ``` Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T6922 Differential Revision: https://secure.phabricator.com/D11304 --- .../worker/PhabricatorRepositoryCommitHeraldWorker.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php index 3654fe79b9..e0aa650839 100644 --- a/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryCommitHeraldWorker.php @@ -44,6 +44,8 @@ final class PhabricatorRepositoryCommitHeraldWorker $editor = id(new PhabricatorAuditEditor()) ->setActor(PhabricatorUser::getOmnipotentUser()) ->setActingAsPHID($acting_as_phid) + ->setContinueOnMissingFields(true) + ->setContinueOnNoEffect(true) ->setContentSource($content_source); $xactions = array();