From 0d1ce5305bf95f6796d176178ce88113f1aead02 Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Mon, 21 Sep 2026 15:11:47 -0300 Subject: [PATCH] bugfix: check if merge commit already has a tag before tagging --- src/git_flow/command/tag.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/git_flow/command/tag.py b/src/git_flow/command/tag.py index ee88bbf..13259bd 100644 --- a/src/git_flow/command/tag.py +++ b/src/git_flow/command/tag.py @@ -25,11 +25,6 @@ def tag(target: str | None = None, token: str | None = None, update_changelog: b if target not in base.environments: raise GitFlowError("Solo se pueden taggear commits en ramas principales.") - token, ci = get_token_and_ci(token) - - if ci and not token: - raise GitFlowError("No hay token disponible") - merge_commit = Git( "log", first_parent=True, merges=True, max_count=1, format="%H" ).firstline() @@ -37,6 +32,19 @@ def tag(target: str | None = None, token: str | None = None, update_changelog: b if not merge_commit: raise GitFlowError("No hay merges a taggear.") + merge_commit_tag = Git("tag", "--points-at", merge_commit).firstline() + if merge_commit_tag: + base.io_info(f"El Ășltimo merge ya tiene un tag: {merge_commit_tag}") + return + + # Con varios entornos cada uno versiona por separado (v1.0.0-prod), con uno solo no hace falta + suffix = f"-{target}" if len(base.environments) > 1 else "" + + token, ci = get_token_and_ci(token) + + if ci and not token: + raise GitFlowError("No hay token disponible") + # Con varios entornos cada uno versiona por separado (v1.0.0-prod), con uno solo no hace falta suffix = f"-{target}" if len(base.environments) > 1 else "" -- 2.54.0