commitizen 4.19.0__py3-none-any.whl → 4.19.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
commitizen/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "4.19.0"
1
+ __version__ = "4.19.2"
commitizen/bump.py CHANGED
@@ -2,64 +2,18 @@ from __future__ import annotations
2
2
 
3
3
  import os
4
4
  import re
5
- from collections import OrderedDict
6
5
  from glob import iglob
7
- from logging import getLogger
8
6
  from string import Template
9
- from typing import TYPE_CHECKING, cast
7
+ from typing import TYPE_CHECKING
10
8
 
11
- from commitizen.defaults import BUMP_MESSAGE, MAJOR, MINOR, PATCH
9
+ from commitizen.defaults import BUMP_MESSAGE
12
10
  from commitizen.exceptions import CurrentVersionNotFoundError
13
- from commitizen.git import GitCommit, smart_open
11
+ from commitizen.git import smart_open
14
12
 
15
13
  if TYPE_CHECKING:
16
14
  from collections.abc import Generator, Iterable
17
15
 
18
- from commitizen.version_schemes import Increment, VersionProtocol
19
-
20
- VERSION_TYPES = [None, PATCH, MINOR, MAJOR]
21
-
22
- logger = getLogger("commitizen")
23
-
24
-
25
- def find_increment(
26
- commits: list[GitCommit], regex: str, increments_map: dict | OrderedDict
27
- ) -> Increment | None:
28
- if isinstance(increments_map, dict):
29
- increments_map = OrderedDict(increments_map)
30
-
31
- # Most important cases are major and minor.
32
- # Everything else will be considered patch.
33
- select_pattern = re.compile(regex)
34
- increment: str | None = None
35
-
36
- for commit in commits:
37
- for message in commit.message.split("\n"):
38
- result = select_pattern.search(message)
39
-
40
- if result:
41
- found_keyword = result.group(1)
42
- new_increment = None
43
- for match_pattern in increments_map.keys():
44
- if re.match(match_pattern, found_keyword):
45
- new_increment = increments_map[match_pattern]
46
- break
47
-
48
- if new_increment is None:
49
- logger.debug(
50
- f"no increment needed for '{found_keyword}' in '{message}'"
51
- )
52
-
53
- if VERSION_TYPES.index(increment) < VERSION_TYPES.index(new_increment):
54
- logger.debug(
55
- f"increment detected is '{new_increment}' due to '{found_keyword}' in '{message}'"
56
- )
57
- increment = new_increment
58
-
59
- if increment == MAJOR:
60
- break
61
-
62
- return cast("Increment", increment)
16
+ from commitizen.version_schemes import VersionProtocol
63
17
 
64
18
 
65
19
  def update_version_in_files(
@@ -24,6 +24,7 @@ from commitizen.exceptions import (
24
24
  )
25
25
  from commitizen.providers import get_provider
26
26
  from commitizen.tags import TagRules
27
+ from commitizen.version_increment import VersionIncrement
27
28
  from commitizen.version_schemes import (
28
29
  Increment,
29
30
  InvalidVersion,
@@ -145,8 +146,8 @@ class Bump:
145
146
  return bool(questionary.confirm("Is this the first tag created?").ask())
146
147
 
147
148
  def _find_increment(self, commits: list[git.GitCommit]) -> Increment | None:
149
+ """Determine the highest configured increment across candidate commits."""
148
150
  # Update the bump map to ensure major version doesn't increment.
149
- # self.cz.bump_map = defaults.bump_map_major_version_zero
150
151
  bump_map = (
151
152
  self.cz.bump_map_major_version_zero
152
153
  if self.bump_settings["major_version_zero"]
@@ -158,11 +159,18 @@ class Bump:
158
159
  raise NoPatternMapError(
159
160
  f"'{self.config.settings['name']}' rule does not support bump"
160
161
  )
161
- return bump.find_increment(
162
- self.cz.filter_commits_before_bump(commits),
163
- regex=bump_pattern,
164
- increments_map=bump_map,
162
+
163
+ commit_messages = (
164
+ commit.message for commit in self.cz.filter_commits_before_bump(commits)
165
+ )
166
+ increment = VersionIncrement.get_highest_by_messages(
167
+ commit_messages,
168
+ bump_pattern,
169
+ bump_map,
165
170
  )
171
+ if increment == VersionIncrement.NONE:
172
+ return None
173
+ return cast("Increment", str(increment))
166
174
 
167
175
  def _validate_arguments(self, current_version: VersionProtocol) -> None:
168
176
  errors: list[str] = []
@@ -4,7 +4,7 @@ from typing import TypedDict
4
4
 
5
5
  from packaging.version import InvalidVersion
6
6
 
7
- from commitizen import bump, factory, git, out
7
+ from commitizen import factory, git, out
8
8
  from commitizen.__version__ import __version__
9
9
  from commitizen.config import BaseConfig
10
10
  from commitizen.exceptions import (
@@ -180,11 +180,20 @@ class Version:
180
180
  raise NoPatternMapError(
181
181
  f"'{self.config.settings['name']}' rule does not support bump"
182
182
  )
183
- increment = bump.find_increment(
184
- self.cz.filter_commits_before_bump(commits),
185
- regex=bump_pattern,
186
- increments_map=bump_map,
183
+ next_increment = VersionIncrement.get_highest_by_messages(
184
+ (commit.message for commit in self.cz.filter_commits_before_bump(commits)),
185
+ bump_pattern,
186
+ bump_map,
187
187
  )
188
+ increment: Increment | None
189
+ if next_increment == VersionIncrement.NONE:
190
+ increment = None
191
+ elif next_increment == VersionIncrement.PATCH:
192
+ increment = "PATCH"
193
+ elif next_increment == VersionIncrement.MINOR:
194
+ increment = "MINOR"
195
+ else:
196
+ increment = "MAJOR"
188
197
 
189
198
  # TODO: Consider adding all the parameters `.bump` supports:
190
199
  # prerelease, prerelease_offset,exact_increment, etc..
commitizen/cz/base.py CHANGED
@@ -37,8 +37,8 @@ class ValidationResult(NamedTuple):
37
37
 
38
38
  class BaseCommitizen(metaclass=ABCMeta):
39
39
  bump_pattern: str | None = None
40
- bump_map: dict[str, str] | None = None
41
- bump_map_major_version_zero: dict[str, str] | None = None
40
+ bump_map: Mapping[str, str | None] | None = None
41
+ bump_map_major_version_zero: Mapping[str, str | None] | None = None
42
42
  default_style_config: list[tuple[str, str]] = [
43
43
  ("qmark", "fg:#ff9d00 bold"),
44
44
  ("question", "bold"),
@@ -8,6 +8,8 @@ from commitizen.cz.base import BaseCommitizen
8
8
  from commitizen.cz.utils import multiple_line_breaker, required_validator
9
9
 
10
10
  if TYPE_CHECKING:
11
+ from collections.abc import Mapping
12
+
11
13
  from commitizen.question import CzQuestion
12
14
 
13
15
  __all__ = ["ConventionalCommitsCz"]
@@ -32,8 +34,10 @@ class ConventionalCommitsAnswers(TypedDict):
32
34
 
33
35
  class ConventionalCommitsCz(BaseCommitizen):
34
36
  bump_pattern = defaults.BUMP_PATTERN
35
- bump_map = defaults.BUMP_MAP
36
- bump_map_major_version_zero = defaults.BUMP_MAP_MAJOR_VERSION_ZERO
37
+ bump_map: Mapping[str, str | None] = defaults.BUMP_MAP
38
+ bump_map_major_version_zero: Mapping[str, str | None] = (
39
+ defaults.BUMP_MAP_MAJOR_VERSION_ZERO
40
+ )
37
41
  commit_parser = r"^((?P<change_type>feat|fix|refactor|perf|BREAKING CHANGE)(?:\((?P<scope>[^()\r\n]*)\)|\()?(?P<breaking>!)?|\w+!):\s(?P<message>.*)?"
38
42
  change_type_map = {
39
43
  "feat": "Feat",
@@ -27,8 +27,8 @@ __all__ = ["CustomizeCommitsCz"]
27
27
 
28
28
 
29
29
  def _derive_major_version_zero(
30
- bump_map: Mapping[str, str],
31
- ) -> OrderedDict[str, str]:
30
+ bump_map: Mapping[str, str | None],
31
+ ) -> OrderedDict[str, str | None]:
32
32
  """Derive a ``bump_map_major_version_zero`` from a user-supplied
33
33
  ``bump_map`` by demoting any ``MAJOR`` rule to ``MINOR``.
34
34
 
@@ -45,8 +45,10 @@ def _derive_major_version_zero(
45
45
 
46
46
  class CustomizeCommitsCz(BaseCommitizen):
47
47
  bump_pattern = defaults.BUMP_PATTERN
48
- bump_map = defaults.BUMP_MAP
49
- bump_map_major_version_zero = defaults.BUMP_MAP_MAJOR_VERSION_ZERO
48
+ bump_map: Mapping[str, str | None] = defaults.BUMP_MAP
49
+ bump_map_major_version_zero: Mapping[str, str | None] = (
50
+ defaults.BUMP_MAP_MAJOR_VERSION_ZERO
51
+ )
50
52
  change_type_order = defaults.CHANGE_TYPE_ORDER
51
53
 
52
54
  def __init__(self, config: BaseConfig) -> None:
commitizen/defaults.py CHANGED
@@ -13,8 +13,8 @@ if TYPE_CHECKING:
13
13
 
14
14
  class CzSettings(TypedDict, total=False):
15
15
  bump_pattern: str
16
- bump_map: OrderedDict[str, str]
17
- bump_map_major_version_zero: OrderedDict[str, str]
16
+ bump_map: OrderedDict[str, str | None]
17
+ bump_map_major_version_zero: OrderedDict[str, str | None]
18
18
  change_type_order: list[str]
19
19
 
20
20
  questions: Iterable[CzQuestion]
commitizen/tags.py CHANGED
@@ -127,15 +127,18 @@ class TagRules:
127
127
  if `warn` is `True`, it will print a warning message if the tag is not a version tag.
128
128
  """
129
129
  tag = tag.name if isinstance(tag, GitTag) else tag
130
+ if self.is_ignored_tag(tag):
131
+ return False
132
+
130
133
  is_legit = any(regex.fullmatch(tag) for regex in self.version_regexes)
131
- if warn and not is_legit and not self.is_ignored_tag(tag):
134
+ if warn and not is_legit:
132
135
  out.warn(self._version_tag_error(tag))
133
136
  return is_legit
134
137
 
135
138
  def is_ignored_tag(self, tag: str | GitTag) -> bool:
136
139
  """True if a given tag can be ignored"""
137
140
  tag = tag.name if isinstance(tag, GitTag) else tag
138
- return any(regex.match(tag) for regex in self.ignored_regexes)
141
+ return any(regex.fullmatch(tag) for regex in self.ignored_regexes)
139
142
 
140
143
  def get_version_tags(
141
144
  self, tags: Iterable[GitTag], warn: bool = False
@@ -1,6 +1,22 @@
1
+ """Helpers for comparing and deriving semantic-version increments.
2
+
3
+ This module centralizes the conversion between external increment labels and the
4
+ ordered enum used internally by bump-related commands. The distinction matters
5
+ because some callers intentionally coerce unknown values to ``NONE`` while
6
+ matched ``bump_map`` outputs must preserve the historical fail-fast behavior for
7
+ invalid custom rule values.
8
+ """
9
+
1
10
  from __future__ import annotations
2
11
 
12
+ import re
3
13
  from enum import IntEnum
14
+ from typing import TYPE_CHECKING
15
+
16
+ if TYPE_CHECKING:
17
+ from collections.abc import Iterable, Mapping
18
+
19
+ RegexPattern = str | re.Pattern[str]
4
20
 
5
21
 
6
22
  class VersionIncrement(IntEnum):
@@ -13,6 +29,12 @@ class VersionIncrement(IntEnum):
13
29
  - PATCH: backwards-compatible bug fixes
14
30
  - MINOR: backwards-compatible features
15
31
  - MAJOR: incompatible API changes
32
+
33
+ Examples:
34
+ ```python
35
+ max([VersionIncrement.PATCH, VersionIncrement.MINOR])
36
+ # VersionIncrement.MINOR
37
+ ```
16
38
  """
17
39
 
18
40
  NONE = 0
@@ -21,13 +43,109 @@ class VersionIncrement(IntEnum):
21
43
  MAJOR = 3
22
44
 
23
45
  def __str__(self) -> str:
46
+ """Return the legacy string representation used by existing callers."""
24
47
  return self.name
25
48
 
26
49
  @classmethod
27
50
  def from_value(cls, value: object) -> VersionIncrement:
51
+ """Convert external increment input into a known increment.
52
+
53
+ This lenient path is used for inputs such as CLI arguments where an
54
+ unknown string should behave like "no increment" instead of raising.
55
+ Matched ``bump_map`` values are validated separately so custom rules keep
56
+ their historical fail-fast behavior.
57
+ """
28
58
  if not isinstance(value, str):
29
59
  return VersionIncrement.NONE
30
60
  try:
31
61
  return cls[value]
32
62
  except KeyError:
33
63
  return VersionIncrement.NONE
64
+
65
+ @classmethod
66
+ def _compile_pattern(cls, regex: RegexPattern) -> re.Pattern[str]:
67
+ """Normalize a bump-pattern input into a compiled regular expression."""
68
+ if isinstance(regex, re.Pattern):
69
+ return regex
70
+ return re.compile(regex)
71
+
72
+ @classmethod
73
+ def _from_bump_map_value(cls, value: object) -> VersionIncrement:
74
+ """Resolve a configured bump-map value or reject invalid rule output.
75
+
76
+ This preserves the historical behavior where a matched custom bump-map
77
+ entry with an unsupported increment fails immediately instead of being
78
+ treated as a no-op.
79
+ """
80
+ if value is None:
81
+ return cls.NONE
82
+ if value == "PATCH":
83
+ return cls.PATCH
84
+ if value == "MINOR":
85
+ return cls.MINOR
86
+ if value == "MAJOR":
87
+ return cls.MAJOR
88
+ raise ValueError(f"Invalid bump increment: {value!r}")
89
+
90
+ @classmethod
91
+ def from_match(
92
+ cls, matched_text: str, increments_map: Mapping[str, object]
93
+ ) -> VersionIncrement:
94
+ """Resolve one extracted bump token against a configured bump map.
95
+
96
+ The first regular-expression key that matches wins, preserving the
97
+ current user-visible behavior of ``bump_map`` ordering.
98
+ """
99
+ for match_pattern, increment in increments_map.items():
100
+ if re.match(match_pattern, matched_text):
101
+ return cls._from_bump_map_value(increment)
102
+ return cls.NONE
103
+
104
+ @classmethod
105
+ def from_message(
106
+ cls, message: str, regex: RegexPattern, increments_map: Mapping[str, object]
107
+ ) -> VersionIncrement:
108
+ """Compute the highest increment contributed by one commit message.
109
+
110
+ Commitizen historically evaluates each line of the full commit message
111
+ against ``bump_pattern`` and then keeps the highest resulting bump.
112
+ This method preserves that behavior while returning a comparable enum.
113
+ """
114
+ select_pattern = cls._compile_pattern(regex)
115
+ increment = cls.NONE
116
+
117
+ for line in message.split("\n"):
118
+ result = select_pattern.search(line)
119
+ if not result:
120
+ continue
121
+
122
+ increment = max(
123
+ increment,
124
+ cls.from_match(result.group(1), increments_map),
125
+ )
126
+ if increment == cls.MAJOR:
127
+ return increment
128
+
129
+ return increment
130
+
131
+ @classmethod
132
+ def get_highest_by_messages(
133
+ cls,
134
+ messages: Iterable[str],
135
+ regex: RegexPattern,
136
+ increments_map: Mapping[str, object],
137
+ ) -> VersionIncrement:
138
+ """Compute the highest increment across many commit messages.
139
+
140
+ An empty iterable yields ``NONE`` so callers can preserve the existing
141
+ "no increment" behavior explicitly instead of relying on exceptions from
142
+ ``max()``.
143
+ """
144
+ select_pattern = cls._compile_pattern(regex)
145
+ return max(
146
+ (
147
+ cls.from_message(message, select_pattern, increments_map)
148
+ for message in messages
149
+ ),
150
+ default=cls.NONE,
151
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commitizen
3
- Version: 4.19.0
3
+ Version: 4.19.2
4
4
  Summary: Python commitizen client tool
5
5
  Keywords: commitizen,conventional,commits,git
6
6
  Author: Santiago Fraire
@@ -1,7 +1,7 @@
1
1
  commitizen/__init__.py,sha256=oOBG9f3DtTPmFnqXnwvuh1XIw9kqf_-cyrFYlRaZ1fQ,593
2
2
  commitizen/__main__.py,sha256=ythPim4R6rgC0zU9siklq1oSbkk2HlbiNpwwoegk8uE,71
3
- commitizen/__version__.py,sha256=Fp9FRZ7Y9YVSCh7eiorMVnopeqssImC_xE1F6sMNAaY,23
4
- commitizen/bump.py,sha256=1UHY3n1GSbbbhQApuaVtnbuH-bqWkoa75gvHAe8O59Y,4716
3
+ commitizen/__version__.py,sha256=CvFHe0QOxUnbCgl5Ka_G1CiQLjN5XlYkarfNU0RnU5E,23
4
+ commitizen/bump.py,sha256=eSF3Fb-5IhkpRmPgbwpWco-772kD6UAa1sDfnBEN2hY,3086
5
5
  commitizen/changelog.py,sha256=U8XphsPUVhWpg9Ms1YIOybTlRNQAktVmAfqLyxDFfvc,11294
6
6
  commitizen/changelog_formats/__init__.py,sha256=ZkxdmGybxWTzQZbt5KTJdAdbdKx0-v3aXtNDC-efRQk,3369
7
7
  commitizen/changelog_formats/asciidoc.py,sha256=yBhD_dy4TLKuVdU0Ug1WHKhfQfwXz9P7kgoRuivLefk,754
@@ -12,7 +12,7 @@ commitizen/changelog_formats/textile.py,sha256=0GiY3c5P6kFWgtruHbr2HnLTLw8F9HDKk
12
12
  commitizen/cli.py,sha256=G5o8ITYlOXBtYYysR1hR3tuKTX_GWJZy0m1Fexn2CZk,29806
13
13
  commitizen/cmd.py,sha256=HqWA5dtq_OAJ-iNFE4CGHAEa0HGDueb6oxfXVy1FHWE,4212
14
14
  commitizen/commands/__init__.py,sha256=gdk5ehql39YCuUZ03HdXWAJhRUwTe0J4A74S1K5K7Fo,420
15
- commitizen/commands/bump.py,sha256=rxa9QFfY3oxjLAqqG-MAVDCC2N3BUaRO2WxnyoXUVX4,16890
15
+ commitizen/commands/bump.py,sha256=5rPV6TTXoZBCmt7MhGfU6sbJDo9VY7du4Q-SIlcY8jQ,17186
16
16
  commitizen/commands/changelog.py,sha256=1qMQIkN8DqZvm5n32zDcoDTfBQgNi2VEUIBdjKoQi5s,11893
17
17
  commitizen/commands/check.py,sha256=V0BAMNChxg9EqTMHcql0xZUbnG9NVrO35YqShCxlFmA,5811
18
18
  commitizen/commands/commit.py,sha256=rCix6BRpcCzCPQPj_y5MSa0NbuCl4wndUMZG6YLf9zU,7555
@@ -21,7 +21,7 @@ commitizen/commands/info.py,sha256=P009ymylWiwr02p-swky7v1QXZTeOf2wT7jdHkZXAgg,3
21
21
  commitizen/commands/init.py,sha256=U4frtXosNjvBO4NwlSMt_BUIf-6aom6KhOGRKxGHB4Q,13862
22
22
  commitizen/commands/list_cz.py,sha256=0eCGpRLn5v7XLNWiMkA14QN260fyR6gzoDvAM2mq-IM,349
23
23
  commitizen/commands/schema.py,sha256=66m_xCjAsUS7_a2Q_dx-CCiHJ6UXG8RJVUeLO_pl2gU,366
24
- commitizen/commands/version.py,sha256=ST7Thj7Ti3kdQeZFs_x5JOOJKZX12pDd-Knz-QiumQM,6962
24
+ commitizen/commands/version.py,sha256=n-bN_EsReL9AMeRsTKnJeTHFLyZj1RvDlmnbW9Ere0o,7329
25
25
  commitizen/config/__init__.py,sha256=uqW74OrqiRd74n3dPWOS5YB62EFrUdFj2TCyGoVCprU,1755
26
26
  commitizen/config/base_config.py,sha256=mWb39DMd5J7yn2Nj-6ZFbUZeR4Tapr06KPvyMXRenhE,1659
27
27
  commitizen/config/factory.py,sha256=-6TcsKLGVJ1Tw1nkRVv5aAfS4JvxY6V2QLirNL8Ly8M,839
@@ -29,19 +29,19 @@ commitizen/config/json_config.py,sha256=2OZ9Uv430Npa_e3Bi0pWd9GZKDBalwMnRGj5bK23
29
29
  commitizen/config/toml_config.py,sha256=ioNJFowcYWR77plQRrZnuYWpKJJYQ0hvQoyGlJ4qHYE,2223
30
30
  commitizen/config/yaml_config.py,sha256=-wDRw8AY-PDltD_0NJMiJ7vq00S-ZGFEv_54aK_DCUk,2069
31
31
  commitizen/cz/__init__.py,sha256=45-VfzHalISUDcpkrfGLVvBRoTdAtdTf3-CmuOqBaus,1311
32
- commitizen/cz/base.py,sha256=7KjNVmcNjg8zvxoLEithQZKAn6TmfIQfdE4pAyql3Q4,7114
32
+ commitizen/cz/base.py,sha256=WLU_EYyXc-mdLDrpejbOXxzTFmdWOkuVKsbrTnmR9WI,7134
33
33
  commitizen/cz/conventional_commits/__init__.py,sha256=GZHCs25rv1p1dp4BNczL5FU_pPdENazF8yso_Ca2sQQ,70
34
- commitizen/cz/conventional_commits/conventional_commits.py,sha256=pYmZUb5cPe2_qjDDlpWZmbbzuhOXES-hHCptWFV5Zd0,7407
34
+ commitizen/cz/conventional_commits/conventional_commits.py,sha256=K2NNPPBPnhGDhA7iG-9xG6nWX00Y0IZ5mhRkrjg8mC4,7516
35
35
  commitizen/cz/conventional_commits/conventional_commits_info.txt,sha256=FqhncEblZC1IYYW7MXhOkA_YOvgO8a1F8-kWSNHVOi8,1285
36
36
  commitizen/cz/customize/__init__.py,sha256=YuZc8zjgiZ3qxCuZ_T81okOzhzhenKzNr9G0d7WBzV0,56
37
- commitizen/cz/customize/customize.py,sha256=GjqZeA0L5ck25nqSi6GmqZPkA3oq3DAUOwO_3r3sfM4,3777
37
+ commitizen/cz/customize/customize.py,sha256=YT1AyLW2OmF9UN-jWzbDAnP666MXX-mTEwl0_wtnEgc,3859
38
38
  commitizen/cz/customize/customize_info.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  commitizen/cz/exceptions.py,sha256=6d4hEBKL0fPDXjyi5hK1gOv3vyMS0Eyq8BTvO93V924,80
40
40
  commitizen/cz/jira/__init__.py,sha256=9zcifxnhAjTuPiWXLmh_QhC2Lb7hwyxgtE90QhPP7eg,57
41
41
  commitizen/cz/jira/jira.py,sha256=IyeXj-5Oz3l3OcAgAX-CX3lyOJOkXOJ1poWq81NhkJM,2571
42
42
  commitizen/cz/jira/jira_info.txt,sha256=GVLlYhUvWJX-8ej_vVrR-lmcUqOBnb5XzkVQOZOzTqA,1940
43
43
  commitizen/cz/utils.py,sha256=lx1xuIl0ZjZtcsvMKBLCz3JfKACwFmgb3F1WoRBRU6o,833
44
- commitizen/defaults.py,sha256=WZfpPRgppJxQY4qimfAV01Ub-GeEOPcWYZ8AtI5_koA,6283
44
+ commitizen/defaults.py,sha256=n215Lm5eh420WJjJqFs4P05_PTj6D9X2mdyy9-oaBNk,6297
45
45
  commitizen/exceptions.py,sha256=pQzvqtDbiFOp-9DSGmI7IMBBd73uAWH22XZTMpYbAJY,7736
46
46
  commitizen/factory.py,sha256=zz6QTr3jsbcTb4oOBWpKt_qgkysM7Q8Kel1lZSjsvkI,612
47
47
  commitizen/git.py,sha256=4Bl2_tJfvAH9ERCKht7vt3e-oA90vROv57f8tu3662k,10188
@@ -60,15 +60,15 @@ commitizen/providers/scm_provider.py,sha256=7c4rGqW99lVwyqZApRgHc-Upm-69mqd8uZ_s
60
60
  commitizen/providers/uv_provider.py,sha256=UgPtkAsX2HcP9-O6xJ2r-ArGSJz_j9Y5EXuh8-Hh4P4,1443
61
61
  commitizen/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  commitizen/question.py,sha256=J6_fzWghr_irzpPUU5JUsIBgDHp4Adryx8XmZAo4Zj4,624
63
- commitizen/tags.py,sha256=To_bkJDCEJd83jDtz-fGK5OGtZTJPSyPqaIRmLSu2_A,10178
63
+ commitizen/tags.py,sha256=x0GMBG5b5Rd5Z0xAj9SvYyg7vntosYFMPrieeQCsXCM,10212
64
64
  commitizen/templates/CHANGELOG.adoc.j2,sha256=LIJZ1vBl2ZFq0hbORMjWi0DJtuYC7S3t8RBuVJ6XZsY,403
65
65
  commitizen/templates/CHANGELOG.md.j2,sha256=MggRrhbL3EabwsH8v0oFMM8G296ATBzePaqumBvW2kc,405
66
66
  commitizen/templates/CHANGELOG.rst.j2,sha256=XHh4a7S83Z5Vrd_0UaLDA1Bb7A82Px4eHcbHsZGKYF8,515
67
67
  commitizen/templates/CHANGELOG.textile.j2,sha256=8JxCcDdgQUmNPxXFEv5IpbP_vcfvYCo5CSicNCZmFCY,404
68
- commitizen/version_increment.py,sha256=9FKa1dYONLoThdN6_IpqwgjiulyrgP8kZl4jm0jMlPM,826
68
+ commitizen/version_increment.py,sha256=WKRvi8no-svlmU876REnqfggsXZFduPQ31mUvEaykvs,5113
69
69
  commitizen/version_schemes.py,sha256=_sm1whwldpZgqM7vdrnuGvI9nWikPJVEKm8AfHL-9vQ,13697
70
- commitizen-4.19.0.dist-info/licenses/LICENSE,sha256=fcwnXedHaDQQEjgNZZgiCm3fXZBrs99zmEtifqe-pE0,1065
71
- commitizen-4.19.0.dist-info/WHEEL,sha256=R1d3uUTbmXM1FHXH_itQashbrqrOSVj-hvBCpmkIIGE,81
72
- commitizen-4.19.0.dist-info/entry_points.txt,sha256=EpbOUAABRQCFhf2HFcmrJZLGsbB_MSJ-tFua-NxUCxE,1085
73
- commitizen-4.19.0.dist-info/METADATA,sha256=Hflyp_FwEuhWrMVSvs99zKL63pNoF8PTcpKg_A5QHoQ,12299
74
- commitizen-4.19.0.dist-info/RECORD,,
70
+ commitizen-4.19.2.dist-info/licenses/LICENSE,sha256=fcwnXedHaDQQEjgNZZgiCm3fXZBrs99zmEtifqe-pE0,1065
71
+ commitizen-4.19.2.dist-info/WHEEL,sha256=cmC5s21ojypbVslldL7IJq3hjZH-tINy4rziKePFsG0,81
72
+ commitizen-4.19.2.dist-info/entry_points.txt,sha256=EpbOUAABRQCFhf2HFcmrJZLGsbB_MSJ-tFua-NxUCxE,1085
73
+ commitizen-4.19.2.dist-info/METADATA,sha256=7-aNUhb_cQ-iV0OZNoudchcS6NcnJZymgKvqHAIwmAk,12299
74
+ commitizen-4.19.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.12.17
2
+ Generator: uv 0.12.23
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any