aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Markus <daniel.markus@leica-geosystems.com>2015-03-31 14:59:57 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2015-04-13 12:55:47 +0200
commit4aed3580d0b1b7e46c754ecaf55644381a799690 (patch)
treeaea0b359d767bdf21958100af2b69bceb6147911
parentd1084c78e7fbe3910b36043c8b9c2b9274db90ca (diff)
downloadmeta-openembedded-contrib-4aed3580d0b1b7e46c754ecaf55644381a799690.tar.gz
meta-openembedded-contrib-4aed3580d0b1b7e46c754ecaf55644381a799690.tar.bz2
meta-openembedded-contrib-4aed3580d0b1b7e46c754ecaf55644381a799690.zip
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>
-rw-r--r--meta-oe/classes/socorro-syms.bbclass10
1 files changed, 4 insertions, 6 deletions
diff --git a/meta-oe/classes/socorro-syms.bbclass b/meta-oe/classes/socorro-syms.bbclass
index 0312031d0d..7a7b20859f 100644
--- a/meta-oe/classes/socorro-syms.bbclass
+++ b/meta-oe/classes/socorro-syms.bbclass
@@ -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.