1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-04 03:06:13 +02:00

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>
This commit is contained in:
Luke Diamand 2017-04-15 11:36:09 +01:00 committed by Junio C Hamano
parent 78871bf46f
commit eff451101d
2 changed files with 2 additions and 7 deletions

View File

@ -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

View File

@ -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 &&
(