From d06a7e58735c1d997ddc40f1dfb97a11ac6b36fe Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 16 Jul 2022 19:24:57 +0200 Subject: [PATCH] Enhance commit tag context extension --- superinvoke/extensions/context.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/superinvoke/extensions/context.py b/superinvoke/extensions/context.py index a2b2f02..4f63f32 100644 --- a/superinvoke/extensions/context.py +++ b/superinvoke/extensions/context.py @@ -86,10 +86,17 @@ def branch(context: Context) -> str: return context.attempt("git rev-parse --abbrev-ref HEAD") -# Gets the current commit tag if any. -def tag(context: Context) -> Optional[str]: - result = context.attempt("git name-rev --name-only --tags HEAD").replace("^0", "") - return result if result != "undefined" else None +# Gets the current or latest commit tag if any. +def tag(context: Context, current: bool = True) -> Optional[str]: + if current: + result = context.attempt("git name-rev --name-only --tags HEAD").replace("^0", "") + else: + result = context.attempt("git describe --tags --abbrev=0").replace("^0", "") + + if "undefined" in result or "fatal" in result: + result = None + + return result # Gets the N last changes.