This function finds the most recent tag reachable from the current commit and computes a nice reference. In order to avoid code duplication, I generalized the branch and revision functions as well (base_get_metadata_git_branch, base_get_metadata_git_revision).
Signed-off-by: Andrei Gherzan <and...@gherzan.ro> --- meta/classes/metadata_scm.bbclass | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass index 58bb4c555a..1fe4b55dca 100644 --- a/meta/classes/metadata_scm.bbclass +++ b/meta/classes/metadata_scm.bbclass @@ -23,20 +23,19 @@ def base_get_metadata_svn_revision(path, d): pass return revision -def base_get_metadata_git_branch(path, d): +def base_get_metadata_git(path, cmd, d): import bb.process - try: - rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path) + rev, _ = bb.process.run(cmd, cwd=path) except bb.process.ExecutionError: rev = '<unknown>' return rev.strip() +def base_get_metadata_git_branch(path, d): + return base_get_metadata_git(path, 'git rev-parse --abbrev-ref HEAD', d) + def base_get_metadata_git_revision(path, d): - import bb.process + return base_get_metadata_git(path, 'git rev-parse HEAD', d) - try: - rev, _ = bb.process.run('git rev-parse HEAD', cwd=path) - except bb.process.ExecutionError: - rev = '<unknown>' - return rev.strip() +def base_get_metadata_git_describe(path, d): + return base_get_metadata_git(path, 'git describe --tags', d) -- 2.23.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core