Differential D10600 Diff 25539 src/applications/repository/worker/PhabricatorRepositoryCommitCacheParserWorker.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/repository/worker/PhabricatorRepositoryCommitCacheParserWorker.php
- This file was added.
<?php | |||||
final class PhabricatorRepositoryCommitCacheParserWorker | |||||
extends PhabricatorRepositoryCommitParserWorker { | |||||
public function parseCommit( | |||||
PhabricatorRepository $repository, | |||||
PhabricatorRepositoryCommit $commit) { | |||||
$drequest = DiffusionRequest::newFromDictionary( | |||||
array( | |||||
'user' => PhabricatorUser::getOmnipotentUser(), | |||||
'initFromConduit' => false, | |||||
'repository' => $repository, | |||||
'commit' => $commit->getCommitIdentifier(), | |||||
)); | |||||
$change_query = DiffusionPathChangeQuery::newFromDiffusionRequest( | |||||
$drequest); | |||||
$changes = $change_query->loadChanges(); | |||||
foreach ($changes as $change) { | |||||
$filetype = $change->getFileType(); | |||||
if ($filetype == DifferentialChangeType::FILE_TEXT || | |||||
$filetype == DifferentialChangeType::FILE_NORMAL) { | |||||
$drequest = DiffusionRequest::newFromDictionary( | |||||
array( | |||||
'user' => PhabricatorUser::getOmnipotentUser(), | |||||
'initFromConduit' => false, | |||||
'repository' => $repository, | |||||
'commit' => $commit->getCommitIdentifier(), | |||||
'path' => $change->getPath(), | |||||
)); | |||||
$blame_request = | |||||
DiffusionFileContentQuery::newFromDiffusionRequest($drequest) | |||||
->setViewer(PhabricatorUser::getOmnipotentUser()) | |||||
->setNeedsBlame(true); | |||||
$blame_request->loadFileContent(); | |||||
$blame_request->getBlameData(); | |||||
} | |||||
} | |||||
} | |||||
} |