Skip to content

Commit

Permalink
fix: fix changelog generation in tag-mode (#171)
Browse files Browse the repository at this point in the history
  • Loading branch information
betaboon authored and relekang committed Oct 22, 2022
1 parent bb09233 commit 482a62e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
6 changes: 1 addition & 5 deletions semantic_release/history/logs.py
Expand Up @@ -98,14 +98,10 @@ def generate_changelog(
# Additional sections will be added as new types are encountered
changes: dict = {"breaking": []}

rev = None
if from_version:
rev = from_version

found_the_release = to_version is None
to_version_commit = to_version and get_formatted_commit(to_version)
from_version_commit = from_version and get_formatted_commit(from_version)
for _hash, commit_message in get_commit_log(rev):
for _hash, commit_message in get_commit_log(from_version, to_version):
if not found_the_release:
# Skip until we find the last commit in this release
# (we are looping in the order of newest -> oldest)
Expand Down
22 changes: 19 additions & 3 deletions semantic_release/vcs_helpers.py
Expand Up @@ -50,18 +50,34 @@ def get_formatted_commit(version: str) -> str:
return message


def get_commit_log(from_rev=None):
def get_commit_log(from_rev=None, to_rev=None):
"""Yield all commit messages from last to first."""
rev = None
if from_rev:
from_rev = get_formatted_tag(from_rev)
try:
repo().commit(from_rev)
rev = f"...{from_rev}"
except BadName:
logger.debug(
f"Reference {from_rev} does not exist, considering entire history"
)
from_rev = None
if to_rev:
to_rev = get_formatted_tag(to_rev)
try:
repo().commit(to_rev)
except BadName:
logger.debug(
f"Reference {to_rev} does not exist, considering entire history until HEAD"
)
to_rev = None

rev = None
if from_rev and to_rev:
rev = f"{to_rev}...{from_rev}"
elif from_rev:
rev = f"...{from_rev}"
elif to_rev:
rev = f"{to_rev}..."

for commit in repo().iter_commits(rev):
yield (commit.hexsha, commit.message.replace("\r\n", "\n"))
Expand Down

0 comments on commit 482a62e

Please sign in to comment.