Merged in bugfix/tag-on-update-changelog (pull request #29)
bugfix: tag on update changelog Approved-by: Jonathan Teran
This commit is contained in:
@@ -3,3 +3,4 @@
|
|||||||
**/__pycache__/
|
**/__pycache__/
|
||||||
build/
|
build/
|
||||||
**/*.egg-info/
|
**/*.egg-info/
|
||||||
|
dist/
|
||||||
|
|||||||
@@ -28,11 +28,7 @@ class TagCommand(Command):
|
|||||||
if target not in envs:
|
if target not in envs:
|
||||||
raise GitFlowError("Solo se pueden taggear commits en ramas principales.")
|
raise GitFlowError("Solo se pueden taggear commits en ramas principales.")
|
||||||
|
|
||||||
merge_commit = self.get_last_merge_commit()
|
branch = Git("show", self.get_last_merge_commit() + "^2", patch=False, format="%h").firstline()
|
||||||
|
|
||||||
self.check_not_tagged(merge_commit)
|
|
||||||
|
|
||||||
branch = Git("show", merge_commit + "^2", patch=False, format="%h").firstline()
|
|
||||||
base = Git.get_first_fork_point(branch, target)
|
base = Git.get_first_fork_point(branch, target)
|
||||||
commits = Git("log", base + ".." + branch, format="%s").lines()
|
commits = Git("log", base + ".." + branch, format="%s").lines()
|
||||||
next_tag = self.get_next_tag_from_commits(commits, target)
|
next_tag = self.get_next_tag_from_commits(commits, target)
|
||||||
@@ -44,18 +40,20 @@ class TagCommand(Command):
|
|||||||
return
|
return
|
||||||
|
|
||||||
(token, ci) = self.get_token_and_ci(args)
|
(token, ci) = self.get_token_and_ci(args)
|
||||||
|
|
||||||
if ci:
|
|
||||||
message = self.get_remote_api(token).create_tag(next_tag, merge_commit)
|
|
||||||
changelog = Changelog()
|
changelog = Changelog()
|
||||||
|
|
||||||
self.success(message)
|
|
||||||
changelog.update(next_tag, base, branch)
|
changelog.update(next_tag, base, branch)
|
||||||
Git("add", Changelog.FILENAME).exec()
|
Git("add", Changelog.FILENAME).exec()
|
||||||
Git("commit", message=Changelog.COMMIT_MESSAGE).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()
|
Git("push").exec()
|
||||||
|
self.success(self.get_remote_api(token).create_tag(next_tag, tag_commit))
|
||||||
else:
|
else:
|
||||||
Git("tag", next_tag, merge_commit).exec()
|
Git("tag", next_tag, tag_commit).exec()
|
||||||
|
|
||||||
def get_token_and_ci(self, args: Namespace):
|
def get_token_and_ci(self, args: Namespace):
|
||||||
try:
|
try:
|
||||||
@@ -86,7 +84,7 @@ class TagCommand(Command):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if tag:
|
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:
|
def get_next_tag_from_commits(self, commits: list[str], branch: str) -> str | None:
|
||||||
increment = SEMVER_SKIP
|
increment = SEMVER_SKIP
|
||||||
|
|||||||
Reference in New Issue
Block a user