diff --git a/src/applications/repository/management/PhabricatorRepositoryManagementImportingWorkflow.php b/src/applications/repository/management/PhabricatorRepositoryManagementImportingWorkflow.php index acb533999b..7e814fc723 100644 --- a/src/applications/repository/management/PhabricatorRepositoryManagementImportingWorkflow.php +++ b/src/applications/repository/management/PhabricatorRepositoryManagementImportingWorkflow.php @@ -40,11 +40,15 @@ final class PhabricatorRepositoryManagementImportingWorkflow $rows = queryfx_all( $conn_r, 'SELECT repositoryID, commitIdentifier, importStatus FROM %T - WHERE repositoryID IN (%Ld) AND (importStatus & %d) != %d', + WHERE repositoryID IN (%Ld) + AND (importStatus & %d) != %d + AND (importStatus & %d) != %d', $table->getTableName(), array_keys($repos), PhabricatorRepositoryCommit::IMPORTED_ALL, - PhabricatorRepositoryCommit::IMPORTED_ALL); + PhabricatorRepositoryCommit::IMPORTED_ALL, + PhabricatorRepositoryCommit::IMPORTED_UNREACHABLE, + PhabricatorRepositoryCommit::IMPORTED_UNREACHABLE); $console = PhutilConsole::getConsole(); if ($rows) { diff --git a/src/applications/repository/management/PhabricatorRepositoryManagementUpdateWorkflow.php b/src/applications/repository/management/PhabricatorRepositoryManagementUpdateWorkflow.php index f435861c60..1b52a7c0e4 100644 --- a/src/applications/repository/management/PhabricatorRepositoryManagementUpdateWorkflow.php +++ b/src/applications/repository/management/PhabricatorRepositoryManagementUpdateWorkflow.php @@ -152,15 +152,19 @@ final class PhabricatorRepositoryManagementUpdateWorkflow return; } - // Look for any commit which hasn't imported. + // Look for any commit which is reachable and hasn't imported. $unparsed_commit = queryfx_one( $repository->establishConnection('r'), - 'SELECT * FROM %T WHERE repositoryID = %d AND (importStatus & %d) != %d + 'SELECT * FROM %T WHERE repositoryID = %d + AND (importStatus & %d) != %d + AND (importStatus & %d) != %d LIMIT 1', id(new PhabricatorRepositoryCommit())->getTableName(), $repository->getID(), PhabricatorRepositoryCommit::IMPORTED_ALL, - PhabricatorRepositoryCommit::IMPORTED_ALL); + PhabricatorRepositoryCommit::IMPORTED_ALL, + PhabricatorRepositoryCommit::IMPORTED_UNREACHABLE, + PhabricatorRepositoryCommit::IMPORTED_UNREACHABLE); if ($unparsed_commit) { // We found a commit which still needs to import, so we can't clear the // flag.