bugfix: check if merge commit already has a tag before tagging

This commit is contained in:
jt
2026-09-21 15:11:47 -03:00
parent a17d9c308a
commit 0d1ce5305b
+13 -5
View File
@@ -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 ""