summaryrefslogtreecommitdiffstats
path: root/git-p4.py
diff options
context:
space:
mode:
authorLuke Diamand <luke@diamand.org>2017-04-15 11:36:09 +0100
committerJunio C Hamano <gitster@pobox.com>2017-04-16 21:13:26 -0700
commiteff451101dcdc6fe023861c6c02a9bacc43f372e (patch)
tree0b421a145c7ed74a7a2d3157d611a012d82bdfee /git-p4.py
parentgit-p4: add read_pipe_text() internal function (diff)
downloadgit-eff451101dcdc6fe023861c6c02a9bacc43f372e.tar.xz
git-eff451101dcdc6fe023861c6c02a9bacc43f372e.zip
git-p4: don't use name-rev to get current branch
git-p4 was using "git name-rev" to find out the current branch. That is not safe, since if multiple branches or tags point at the same revision, the result obtained might not be what is expected. Instead use "git symbolic-ref". Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-p4.py')
-rwxr-xr-xgit-p4.py7
1 files changed, 1 insertions, 6 deletions
diff --git a/git-p4.py b/git-p4.py
index 584b817757f..8d151da91b9 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -602,12 +602,7 @@ def p4Where(depotPath):
return clientPath
def currentGitBranch():
- retcode = system(["git", "symbolic-ref", "-q", "HEAD"], ignore_error=True)
- if retcode != 0:
- # on a detached head
- return None
- else:
- return read_pipe(["git", "name-rev", "HEAD"]).split(" ")[1].strip()
+ return read_pipe_text(["git", "symbolic-ref", "--short", "-q", "HEAD"])
def isValidGitDir(path):
return git_dir(path) != None