Page MenuHomePhabricator

D21533.diff
No OneTemporary

D21533.diff

diff --git a/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php b/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php
--- a/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php
+++ b/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php
@@ -682,7 +682,6 @@
$this->queueCommitImportTask(
$repository,
- $commit->getID(),
$commit->getPHID(),
$task_priority,
$via = 'discovery');
diff --git a/src/applications/repository/engine/PhabricatorRepositoryEngine.php b/src/applications/repository/engine/PhabricatorRepositoryEngine.php
--- a/src/applications/repository/engine/PhabricatorRepositoryEngine.php
+++ b/src/applications/repository/engine/PhabricatorRepositoryEngine.php
@@ -85,10 +85,9 @@
final protected function queueCommitImportTask(
PhabricatorRepository $repository,
- $commit_id,
$commit_phid,
$task_priority,
- $via = null) {
+ $via) {
$vcs = $repository->getVersionControlSystem();
switch ($vcs) {
@@ -109,7 +108,7 @@
}
$data = array(
- 'commitID' => $commit_id,
+ 'commitPHID' => $commit_phid,
);
if ($via !== null) {
diff --git a/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php b/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php
--- a/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php
+++ b/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php
@@ -597,7 +597,6 @@
$this->queueCommitImportTask(
$repository,
- $row['id'],
$row['phid'],
$task_priority,
$via = 'ref');
diff --git a/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php b/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php
--- a/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php
+++ b/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php
@@ -247,7 +247,7 @@
// all the requested steps explicitly.
$spec = array(
- 'commitID' => $commit->getID(),
+ 'commitPHID' => $commit->getPHID(),
'only' => !$importing,
'via' => 'reparse',
);
diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php
--- a/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php
+++ b/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php
@@ -11,30 +11,51 @@
return $this->commit;
}
- $commit_id = idx($this->getTaskData(), 'commitID');
- if (!$commit_id) {
+ $viewer = $this->getViewer();
+ $task_data = $this->getTaskData();
+
+ $commit_query = id(new DiffusionCommitQuery())
+ ->setViewer($viewer);
+
+ $commit_phid = idx($task_data, 'commitPHID');
+
+ // TODO: See T13591. This supports execution of legacy tasks and can
+ // eventually be removed. Newer tasks use "commitPHID" instead of
+ // "commitID".
+ if (!$commit_phid) {
+ $commit_id = idx($task_data, 'commitID');
+ if ($commit_id) {
+ $legacy_commit = id(clone $commit_query)
+ ->withIDs(array($commit_id))
+ ->executeOne();
+ if ($legacy_commit) {
+ $commit_phid = $legacy_commit->getPHID();
+ }
+ }
+ }
+
+ if (!$commit_phid) {
throw new PhabricatorWorkerPermanentFailureException(
- pht('No "%s" in task data.', 'commitID'));
+ pht('Task data has no "commitPHID".'));
}
- $commit = id(new DiffusionCommitQuery())
- ->setViewer(PhabricatorUser::getOmnipotentUser())
- ->withIDs(array($commit_id))
+ $commit = id(clone $commit_query)
+ ->withPHIDs(array($commit_phid))
->executeOne();
if (!$commit) {
throw new PhabricatorWorkerPermanentFailureException(
- pht('Commit "%s" does not exist.', $commit_id));
+ pht('Commit "%s" does not exist.', $commit_phid));
}
if ($commit->isUnreachable()) {
throw new PhabricatorWorkerPermanentFailureException(
pht(
- 'Commit "%s" (with internal ID "%s") is no longer reachable from '.
- 'any branch, tag, or ref in this repository, so it will not be '.
+ 'Commit "%s" (with PHID "%s") is no longer reachable from any '.
+ 'branch, tag, or ref in this repository, so it will not be '.
'imported. This usually means that the branch the commit was on '.
'was deleted or overwritten.',
$commit->getMonogram(),
- $commit_id));
+ $commit_phid));
}
$this->commit = $commit;
@@ -64,7 +85,7 @@
$repository = $commit->getRepository();
$data = array(
- 'commitID' => $commit->getID(),
+ 'commitPHID' => $commit->getPHID(),
);
$task_data = $this->getTaskData();
@@ -144,7 +165,7 @@
$commit = id(new DiffusionCommitQuery())
->setViewer($viewer)
- ->withIDs(array(idx($this->getTaskData(), 'commitID')))
+ ->withPHIDs(array(idx($this->getTaskData(), 'commitPHID')))
->executeOne();
if (!$commit) {
return $suffix;

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 18, 2:19 PM (4 d, 21 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7658095
Default Alt Text
D21533.diff (5 KB)

Event Timeline