diff --git a/src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php b/src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php index 53dc6b30da..4e9ed246d9 100644 --- a/src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php +++ b/src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php @@ -31,6 +31,11 @@ final class DiffusionLowLevelResolveRefsQuery return array(); } + $repository = $this->getRepository(); + if (!$repository->hasLocalWorkingCopy()) { + return array(); + } + switch ($this->getRepository()->getVersionControlSystem()) { case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: $result = $this->resolveGitRefs(); diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php index 5705bb719c..f23661cfbe 100644 --- a/src/applications/repository/storage/PhabricatorRepository.php +++ b/src/applications/repository/storage/PhabricatorRepository.php @@ -1477,6 +1477,15 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO return false; } + public function hasLocalWorkingCopy() { + try { + self::assertLocalExists(); + return true; + } catch (Exception $ex) { + return false; + } + } + /** * Raise more useful errors when there are basic filesystem problems. */