diff --git a/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php b/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php index 8c03ad96e7..c30d81c393 100644 --- a/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php +++ b/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php @@ -6,9 +6,17 @@ extends DiffusionStableCommitNameQuery { protected function executeQuery() { $repository = $this->getRepository(); $branch = $this->getBranch(); - list($stdout) = $repository->execxLocalCommand( - 'rev-parse --verify %s', - $branch); + + if ($repository->isWorkingCopyBare()) { + list($stdout) = $repository->execxLocalCommand( + 'rev-parse --verify %s', + $branch); + } else { + list($stdout) = $repository->execxLocalCommand( + 'rev-parse --verify %s/%s', + DiffusionBranchInformation::DEFAULT_GIT_REMOTE, + $branch); + } $commit = trim($stdout); return substr($commit, 0, 16); diff --git a/src/applications/diffusion/request/DiffusionGitRequest.php b/src/applications/diffusion/request/DiffusionGitRequest.php index 975051d898..df3df74c72 100644 --- a/src/applications/diffusion/request/DiffusionGitRequest.php +++ b/src/applications/diffusion/request/DiffusionGitRequest.php @@ -31,7 +31,13 @@ final class DiffusionGitRequest extends DiffusionRequest { if ($this->commit) { return $this->commit; } - return $this->getBranch(); + + if ($this->repository->isWorkingCopyBare()) { + return $this->getBranch(); + } else { + $remote = DiffusionBranchInformation::DEFAULT_GIT_REMOTE; + return $remote.'/'.$this->getBranch(); + } } }