Differential D21446 Diff 51082 src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php
<?php | <?php | ||||
abstract class PhabricatorRepositoryCommitMessageParserWorker | abstract class PhabricatorRepositoryCommitMessageParserWorker | ||||
extends PhabricatorRepositoryCommitParserWorker { | extends PhabricatorRepositoryCommitParserWorker { | ||||
protected function getImportStepFlag() { | protected function getImportStepFlag() { | ||||
return PhabricatorRepositoryCommit::IMPORTED_MESSAGE; | return PhabricatorRepositoryCommit::IMPORTED_MESSAGE; | ||||
} | } | ||||
abstract protected function getFollowupTaskClass(); | abstract protected function getFollowupTaskClass(); | ||||
final protected function parseCommit( | final protected function parseCommit( | ||||
PhabricatorRepository $repository, | PhabricatorRepository $repository, | ||||
PhabricatorRepositoryCommit $commit) { | PhabricatorRepositoryCommit $commit) { | ||||
if (!$this->shouldSkipImportStep()) { | if (!$this->shouldSkipImportStep()) { | ||||
$viewer = PhabricatorUser::getOmnipotentUser(); | $viewer = $this->getViewer(); | ||||
$refs_raw = DiffusionQuery::callConduitWithDiffusionRequest( | |||||
$viewer, | |||||
DiffusionRequest::newFromDictionary( | |||||
array( | |||||
'repository' => $repository, | |||||
'user' => $viewer, | |||||
)), | |||||
'diffusion.querycommits', | |||||
array( | |||||
'repositoryPHID' => $repository->getPHID(), | |||||
'phids' => array($commit->getPHID()), | |||||
'bypassCache' => true, | |||||
'needMessages' => true, | |||||
)); | |||||
if (empty($refs_raw['data'])) { | $ref = $commit->newCommitRef($viewer); | ||||
throw new Exception( | |||||
pht( | |||||
'Unable to retrieve details for commit "%s"!', | |||||
$commit->getPHID())); | |||||
} | |||||
$ref = DiffusionCommitRef::newFromConduitResult(head($refs_raw['data'])); | |||||
$this->updateCommitData($ref); | $this->updateCommitData($ref); | ||||
} | } | ||||
if ($this->shouldQueueFollowupTasks()) { | if ($this->shouldQueueFollowupTasks()) { | ||||
$this->queueTask( | $this->queueTask( | ||||
$this->getFollowupTaskClass(), | $this->getFollowupTaskClass(), | ||||
array( | array( | ||||
'commitID' => $commit->getID(), | 'commitID' => $commit->getID(), | ||||
▲ Show 20 Lines • Show All 241 Lines • Show Last 20 Lines |