From 02d3ba17a8090bd088beb973980651d664f713bb Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Fri, 13 Jan 2017 15:12:40 +0200 Subject: oeqa.utils.metadata: fix retrieval of git branch and revision Always return a valid branch name, or, '(nobranch)' if the current HEAD is detached. Also, always return the hash of the commit object that HEAD is pointing to. Previous code returned an incorrect branch name (or crashed) e.g. in the case of detached HEAD. [YOCTO #10590] Signed-off-by: Markus Lehtonen Signed-off-by: Ross Burton --- meta/lib/oeqa/utils/metadata.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/lib/oeqa/utils/metadata.py b/meta/lib/oeqa/utils/metadata.py index a389c6a28e..b732d372df 100644 --- a/meta/lib/oeqa/utils/metadata.py +++ b/meta/lib/oeqa/utils/metadata.py @@ -72,11 +72,13 @@ def get_layers(layers): layer_dict[layer_name] = OrderedDict() try: repo = Repo(layer, search_parent_directories=True) - revision, branch = repo.head.object.name_rev.split() except (InvalidGitRepositoryError, NoSuchPathError): continue - layer_dict[layer_name]['branch'] = branch - layer_dict[layer_name]['revision'] = revision + layer_dict[layer_name]['revision'] = repo.head.commit.hexsha + try: + layer_dict[layer_name]['branch'] = repo.active_branch.name + except TypeError: + layer_dict[layer_name]['branch'] = '(nobranch)' return layer_dict def write_metadata_file(file_path, metadata): -- cgit 1.2.3-korg