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 | |||||