commitizen 4.16.0__tar.gz → 4.16.2__tar.gz

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.
Files changed (74) hide show
  1. {commitizen-4.16.0 → commitizen-4.16.2}/PKG-INFO +1 -1
  2. commitizen-4.16.2/commitizen/__version__.py +1 -0
  3. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/customize/customize.py +29 -0
  4. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/defaults.py +11 -2
  5. {commitizen-4.16.0 → commitizen-4.16.2}/pyproject.toml +1 -1
  6. commitizen-4.16.0/commitizen/__version__.py +0 -1
  7. {commitizen-4.16.0 → commitizen-4.16.2}/LICENSE +0 -0
  8. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/__init__.py +0 -0
  9. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/__main__.py +0 -0
  10. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/bump.py +0 -0
  11. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog.py +0 -0
  12. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog_formats/__init__.py +0 -0
  13. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog_formats/asciidoc.py +0 -0
  14. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog_formats/base.py +0 -0
  15. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog_formats/markdown.py +0 -0
  16. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog_formats/restructuredtext.py +0 -0
  17. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/changelog_formats/textile.py +0 -0
  18. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cli.py +0 -0
  19. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cmd.py +0 -0
  20. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/__init__.py +0 -0
  21. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/bump.py +0 -0
  22. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/changelog.py +0 -0
  23. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/check.py +0 -0
  24. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/commit.py +0 -0
  25. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/example.py +0 -0
  26. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/info.py +0 -0
  27. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/init.py +0 -0
  28. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/list_cz.py +0 -0
  29. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/schema.py +0 -0
  30. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/commands/version.py +0 -0
  31. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/config/__init__.py +0 -0
  32. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/config/base_config.py +0 -0
  33. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/config/factory.py +0 -0
  34. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/config/json_config.py +0 -0
  35. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/config/toml_config.py +0 -0
  36. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/config/yaml_config.py +0 -0
  37. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/__init__.py +0 -0
  38. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/base.py +0 -0
  39. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/conventional_commits/__init__.py +0 -0
  40. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/conventional_commits/conventional_commits.py +0 -0
  41. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/conventional_commits/conventional_commits_info.txt +0 -0
  42. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/customize/__init__.py +0 -0
  43. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/customize/customize_info.txt +0 -0
  44. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/exceptions.py +0 -0
  45. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/jira/__init__.py +0 -0
  46. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/jira/jira.py +0 -0
  47. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/jira/jira_info.txt +0 -0
  48. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/cz/utils.py +0 -0
  49. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/exceptions.py +0 -0
  50. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/factory.py +0 -0
  51. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/git.py +0 -0
  52. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/hooks.py +0 -0
  53. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/out.py +0 -0
  54. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/project_info.py +0 -0
  55. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/__init__.py +0 -0
  56. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/base_provider.py +0 -0
  57. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/cargo_provider.py +0 -0
  58. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/commitizen_provider.py +0 -0
  59. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/composer_provider.py +0 -0
  60. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/npm_provider.py +0 -0
  61. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/pep621_provider.py +0 -0
  62. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/poetry_provider.py +0 -0
  63. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/scm_provider.py +0 -0
  64. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/providers/uv_provider.py +0 -0
  65. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/py.typed +0 -0
  66. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/question.py +0 -0
  67. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/tags.py +0 -0
  68. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/templates/CHANGELOG.adoc.j2 +0 -0
  69. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/templates/CHANGELOG.md.j2 +0 -0
  70. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/templates/CHANGELOG.rst.j2 +0 -0
  71. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/templates/CHANGELOG.textile.j2 +0 -0
  72. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/version_increment.py +0 -0
  73. {commitizen-4.16.0 → commitizen-4.16.2}/commitizen/version_schemes.py +0 -0
  74. {commitizen-4.16.0 → commitizen-4.16.2}/docs/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commitizen
3
- Version: 4.16.0
3
+ Version: 4.16.2
4
4
  Summary: Python commitizen client tool
5
5
  Keywords: commitizen,conventional,commits,git
6
6
  Author: Santiago Fraire
@@ -0,0 +1 @@
1
+ __version__ = "4.16.2"
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from collections import OrderedDict
3
4
  from pathlib import Path
4
5
  from typing import TYPE_CHECKING, Any
5
6
 
@@ -19,11 +20,29 @@ else:
19
20
 
20
21
  from commitizen import defaults
21
22
  from commitizen.cz.base import BaseCommitizen
23
+ from commitizen.defaults import MAJOR, MINOR
22
24
  from commitizen.exceptions import MissingCzCustomizeConfigError
23
25
 
24
26
  __all__ = ["CustomizeCommitsCz"]
25
27
 
26
28
 
29
+ def _derive_major_version_zero(
30
+ bump_map: Mapping[str, str],
31
+ ) -> OrderedDict[str, str]:
32
+ """Derive a ``bump_map_major_version_zero`` from a user-supplied
33
+ ``bump_map`` by demoting any ``MAJOR`` rule to ``MINOR``.
34
+
35
+ See #1728: when a ``cz_customize`` user supplies ``bump_map`` but not
36
+ ``bump_map_major_version_zero``, the latter previously fell through to
37
+ ``defaults.BUMP_MAP_MAJOR_VERSION_ZERO``, silently overriding the
38
+ user's intent during ``major_version_zero = true`` bumps.
39
+ """
40
+ return OrderedDict(
41
+ (pattern, MINOR if increment == MAJOR else increment)
42
+ for pattern, increment in bump_map.items()
43
+ )
44
+
45
+
27
46
  class CustomizeCommitsCz(BaseCommitizen):
28
47
  bump_pattern = defaults.BUMP_PATTERN
29
48
  bump_map = defaults.BUMP_MAP
@@ -49,6 +68,16 @@ class CustomizeCommitsCz(BaseCommitizen):
49
68
  if value := self.custom_settings.get(attr_name):
50
69
  setattr(self, attr_name, value)
51
70
 
71
+ # When the user supplies a custom ``bump_map`` but no matching
72
+ # ``bump_map_major_version_zero``, derive the latter so that bumps
73
+ # under ``major_version_zero = true`` use the user's mapping rather
74
+ # than the (totally unrelated) ``defaults.BUMP_MAP_MAJOR_VERSION_ZERO``
75
+ # fallback. See #1728.
76
+ if self.custom_settings.get("bump_map") and not self.custom_settings.get(
77
+ "bump_map_major_version_zero"
78
+ ):
79
+ self.bump_map_major_version_zero = _derive_major_version_zero(self.bump_map)
80
+
52
81
  def questions(self) -> list[CzQuestion]:
53
82
  return self.custom_settings.get("questions", [{}]) # type: ignore[return-value]
54
83
 
@@ -156,8 +156,17 @@ def get_tag_regexes(
156
156
  "major": r"(?P<major>\d+)",
157
157
  "minor": r"(?P<minor>\d+)",
158
158
  "patch": r"(?P<patch>\d+)",
159
- "prerelease": r"(?P<prerelease>\w+\d+)?",
160
- "devrelease": r"(?P<devrelease>\.dev\d+)?",
159
+ # Allow ``\w+`` (PEP-440 ``rc0``) as well as ``\w+\.\w+(\.\w+)*``
160
+ # (SemVer2 ``rc.0``, ``alpha.beta.1``). The original ``\w+\d+`` only
161
+ # matched the PEP-440 form and produced "Invalid version tag" warnings
162
+ # for SemVer2-style tags created by commitizen itself (#1614).
163
+ "prerelease": r"(?P<prerelease>\w+(?:\.\w+)*)?",
164
+ # Match either ``.dev1`` (PEP-440 with leading dot) or ``dev1``
165
+ # (SemVer / SemVer2 / users substituting ``${devrelease}`` directly
166
+ # in a ``tag_format`` -- see #1615). A bare ``\d+`` after the prefix
167
+ # would let the regex match arbitrary numeric suffixes, so the
168
+ # ``dev`` literal is required.
169
+ "devrelease": r"(?P<devrelease>\.?dev\d+)?",
161
170
  }
162
171
  return {
163
172
  **{f"${k}": v for k, v in regexes.items()},
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "commitizen"
3
- version = "4.16.0"
3
+ version = "4.16.2"
4
4
  description = "Python commitizen client tool"
5
5
  authors = [{ name = "Santiago Fraire", email = "santiwilly@gmail.com" }]
6
6
  maintainers = [
@@ -1 +0,0 @@
1
- __version__ = "4.16.0"
File without changes
File without changes