mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-24 06:20:56 +01:00
Fix resolution of commits in SVN repositories without callsigns
Summary: Fixes T10721. When trying to load commits by identifier, we would take some bad pathways in Subversion if the repository had no callsign and end up missing the commits. Fix this logic so it works for either callsigns (e.g., if passed `rXyyy`) or with PHIDs if passed repositories. Test Plan: - Viewed SVN commit in a Subversion repository with no callsign. - Added a callsign, looked at it again. - Viewed non-SVN commits in callsign and non-callsign repositories. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10721 Differential Revision: https://secure.phabricator.com/D15607
This commit is contained in:
parent
5f957807a7
commit
b07a524b4b
1 changed files with 5 additions and 6 deletions
|
@ -364,7 +364,7 @@ final class DiffusionCommitQuery
|
|||
|
||||
if ($repo === null) {
|
||||
if ($this->defaultRepository) {
|
||||
$repo = $this->defaultRepository->getCallsign();
|
||||
$repo = $this->defaultRepository->getPHID();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -375,7 +375,7 @@ final class DiffusionCommitQuery
|
|||
$bare[] = $commit_identifier;
|
||||
} else {
|
||||
$refs[] = array(
|
||||
'callsign' => $repo,
|
||||
'repository' => $repo,
|
||||
'identifier' => $commit_identifier,
|
||||
);
|
||||
}
|
||||
|
@ -392,17 +392,16 @@ final class DiffusionCommitQuery
|
|||
}
|
||||
|
||||
if ($refs) {
|
||||
$callsigns = ipull($refs, 'callsign');
|
||||
$repositories = ipull($refs, 'repository');
|
||||
|
||||
$repos = id(new PhabricatorRepositoryQuery())
|
||||
->setViewer($this->getViewer())
|
||||
->withIdentifiers($callsigns);
|
||||
->withIdentifiers($repositories);
|
||||
$repos->execute();
|
||||
|
||||
$repos = $repos->getIdentifierMap();
|
||||
foreach ($refs as $key => $ref) {
|
||||
$repo = idx($repos, $ref['callsign']);
|
||||
|
||||
$repo = idx($repos, $ref['repository']);
|
||||
if (!$repo) {
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue