bugfix: creo tag en el commit que actualiza el changelog

This commit is contained in:
jt
2025-11-21 20:41:37 -03:00
parent 0e75a8ec1f
commit 222c819b36
+9 -11
View File
@@ -28,11 +28,7 @@ class TagCommand(Command):
if target not in envs:
raise GitFlowError("Solo se pueden taggear commits en ramas principales.")
merge_commit = self.get_last_merge_commit()
self.check_not_tagged(merge_commit)
branch = Git("show", merge_commit + "^2", patch=False, format="%h").firstline()
branch = Git("show", self.get_last_merge_commit() + "^2", patch=False, format="%h").firstline()
base = Git.get_first_fork_point(branch, target)
commits = Git("log", base + ".." + branch, format="%s").lines()
next_tag = self.get_next_tag_from_commits(commits, target)
@@ -44,18 +40,20 @@ class TagCommand(Command):
return
(token, ci) = self.get_token_and_ci(args)
if ci:
message = self.get_remote_api(token).create_tag(next_tag, merge_commit)
changelog = Changelog()
self.success(message)
changelog.update(next_tag, base, branch)
Git("add", Changelog.FILENAME).exec()
Git("commit", message=Changelog.COMMIT_MESSAGE).exec()
tag_commit = Git("show", "HEAD", patch=False, format="%h").firstline()
self.check_not_tagged(tag_commit)
if ci:
Git("push").exec()
self.success(self.get_remote_api(token).create_tag(next_tag, tag_commit))
else:
Git("tag", next_tag, merge_commit).exec()
Git("tag", next_tag, tag_commit).exec()
def get_token_and_ci(self, args: Namespace):
try:
@@ -86,7 +84,7 @@ class TagCommand(Command):
)
if tag:
raise GitFlowError("El ultimo merge ya tiene tag: " + tag)
raise GitFlowError("El commit a taggear ya tiene tag: " + tag)
def get_next_tag_from_commits(self, commits: list[str], branch: str) -> str | None:
increment = SEMVER_SKIP