Commit eff45110 authored by Luke Diamand's avatar Luke Diamand Committed by Junio C Hamano

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

Instead use "git symbolic-ref".
Signed-off-by: Luke Diamand's avatarLuke Diamand <[email protected]>
Signed-off-by: default avatarJunio C Hamano <[email protected]>
parent 78871bf4
......@@ -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
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
......@@ -139,7 +139,7 @@ test_expect_success 'submit with master branch name from argv' '
test_expect_failure 'allow submit from branch with same revision but different name' '
test_expect_success 'allow submit from branch with same revision but different name' '
test_when_finished cleanup_git &&
git p4 clone --dest="$git" //depot &&
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment