socorro-syms: Correct the extraction of repository branch

When a recipe has git-cloned source code to compile, it may be checked out with
a detached HEAD. The current VCS information extraction in socorro-syms
incorrectly assumes a detached HEAD belongs to the master branch.

With the proper git command we find the branch the detached HEAD belongs to and
use that in the Socorro link.

Signed-off-by: Daniel Markus <daniel.markus@leica-geosystems.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Daniel Markus 2015-03-31 14:59:57 +02:00 committed by Martin Jansa
parent d1084c78e7
commit 4aed3580d0

View File

@ -148,12 +148,10 @@ def git_repository_path(source_file_path):
url_match = re.search(".*(://|@)([^:/]*).*", source_long_url)
source_server = url_match.group(2)
# (2) Get the branch for this file. If it's detached and just shows HEAD
# then set it to master and hope we can get the correct revision from there.
source_branch = run_command(
"git rev-parse --abbrev-ref HEAD", source_file_dir)
if source_branch == "HEAD":
source_branch = "master"
# (2) Get the branch for this file.
source_branch_list = run_command("git show-branch --list", source_file_dir)
source_branch_match = re.search(".*?\[(.*?)\].*", source_branch_list)
source_branch = source_branch_match.group(1)
# (3) Since the repo root directory name can be changed without affecting
# git, we need to extract the name from something more reliable.