From 45b93527cff5e17710b01af723782b482d2704ca Mon Sep 17 00:00:00 2001 From: Josix Date: Thu, 29 Feb 2024 22:14:32 +0800 Subject: [PATCH] fix(commands/bump): prevent using incremental changelog when it is set to false in config --- commitizen/commands/bump.py | 8 ++++++-- commitizen/config/base_config.py | 5 +++++ commitizen/config/json_config.py | 1 + commitizen/config/toml_config.py | 1 + commitizen/config/yaml_config.py | 1 + 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/commitizen/commands/bump.py b/commitizen/commands/bump.py index c29c4c35c..397521866 100644 --- a/commitizen/commands/bump.py +++ b/commitizen/commands/bump.py @@ -293,7 +293,9 @@ def __call__(self) -> None: # noqa: C901 "unreleased_version": new_tag_version, "template": self.template, "extras": self.extras, - "incremental": True, + "incremental": self.config.mutated_settings.get( + "changelog_incremental", True + ), "dry_run": True, }, ) @@ -305,7 +307,9 @@ def __call__(self) -> None: # noqa: C901 self.config, { "unreleased_version": new_tag_version, - "incremental": True, + "incremental": self.config.mutated_settings.get( + "changelog_incremental", True + ), "dry_run": dry_run, "template": self.template, "extras": self.extras, diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index 478691aa1..d3500cab8 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -10,11 +10,16 @@ def __init__(self): self._settings: Settings = DEFAULT_SETTINGS.copy() self.encoding = self.settings["encoding"] self._path: Path | None = None + self._settings_from_configs: Settings = {} @property def settings(self) -> Settings: return self._settings + @property + def mutated_settings(self) -> Settings: + return self._settings_from_configs + @property def path(self) -> Path | None: return self._path diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index cf554922d..9087dbd5a 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -52,5 +52,6 @@ def _parse_setting(self, data: bytes | str) -> None: try: self.settings.update(doc["commitizen"]) + self.mutated_settings.update(doc["commitizen"]) except KeyError: self.is_empty_config = True diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index d45860d65..4dd298938 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -58,5 +58,6 @@ def _parse_setting(self, data: bytes | str) -> None: try: self.settings.update(doc["tool"]["commitizen"]) # type: ignore + self.mutated_settings.update(doc["tool"]["commitizen"]) # type: ignore except exceptions.NonExistentKey: self.is_empty_config = True diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 396e2eba1..5beec3220 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -38,6 +38,7 @@ def _parse_setting(self, data: bytes | str) -> None: try: self.settings.update(doc["commitizen"]) + self.mutated_settings.update(doc["commitizen"]) except (KeyError, TypeError): self.is_empty_config = True