Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

refactor(Changelog): remove unnecessary intermediate variables for better readability #1551

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: v4-9-0-test
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 17 additions & 19 deletions commitizen/commands/changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from commitizen import changelog, defaults, factory, git, out
from commitizen.changelog_formats import get_changelog_format
from commitizen.config import BaseConfig
from commitizen.cz.base import ChangelogReleaseHook, MessageBuilderHook
from commitizen.cz.utils import strip_local_version
from commitizen.exceptions import (
DryRunExit,
Expand Down Expand Up @@ -184,15 +183,6 @@ def __call__(self) -> None:
commit_parser = self.cz.commit_parser
changelog_pattern = self.cz.changelog_pattern
start_rev = self.start_rev
unreleased_version = self.unreleased_version
changelog_meta = changelog.Metadata()
change_type_map: dict[str, str] | None = self.change_type_map
changelog_message_builder_hook: MessageBuilderHook | None = (
self.cz.changelog_message_builder_hook
)
changelog_release_hook: ChangelogReleaseHook | None = (
self.cz.changelog_release_hook
)

if self.export_template_to:
return self._export_template()
Expand All @@ -209,45 +199,53 @@ def __call__(self) -> None:
assert self.file_name

tags = self.tag_rules.get_version_tags(git.get_tags(), warn=True)
end_rev = ""
changelog_meta = changelog.Metadata()
if self.incremental:
changelog_meta = self.changelog_format.get_metadata(self.file_name)
if changelog_meta.latest_version:
start_rev = self._find_incremental_rev(
strip_local_version(changelog_meta.latest_version_tag or ""), tags
)

end_rev = ""
if self.rev_range:
start_rev, end_rev = changelog.get_oldest_and_newest_rev(
tags,
self.rev_range,
self.tag_rules,
)

commits = git.get_commits(start=start_rev, end=end_rev, args="--topo-order")
if not commits and (
self.current_version is None or not self.current_version.is_prerelease
):
raise NoCommitsFoundError("No commits found")

tree = changelog.generate_tree_from_commits(
commits,
tags,
commit_parser,
changelog_pattern,
unreleased_version,
change_type_map=change_type_map,
changelog_message_builder_hook=changelog_message_builder_hook,
changelog_release_hook=changelog_release_hook,
self.unreleased_version,
change_type_map=self.change_type_map,
changelog_message_builder_hook=self.cz.changelog_message_builder_hook,
changelog_release_hook=self.cz.changelog_release_hook,
rules=self.tag_rules,
)
if self.change_type_order:
tree = changelog.generate_ordered_changelog_tree(
tree, self.change_type_order
)

extras = self.cz.template_extras.copy()
extras.update(self.config.settings["extras"])
extras.update(self.extras)
changelog_out = changelog.render_changelog(
tree, loader=self.cz.template_loader, template=self.template, **extras
tree,
self.cz.template_loader,
self.template,
**{
**self.cz.template_extras,
**self.config.settings["extras"],
**self.extras,
},
).lstrip("\n")

# Dry_run is executed here to avoid checking and reading the files
Expand Down