Skip to content

Commit f04aecf

Browse files
feat(bump): add retry_bump_after_failure default and docs
1 parent d90ad42 commit f04aecf

4 files changed

Lines changed: 15 additions & 1 deletion

File tree

‎commitizen/defaults.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ class Settings(TypedDict, total=False):
9191
"ignored_tag_formats": [],
9292
"bump_message": None, # bumped v$current_version to $new_version
9393
"retry_after_failure": False,
94+
"retry_bump_after_failure": False,
9495
"allow_abort": False,
9596
"allowed_prefixes": [
9697
"Merge",

‎docs/config/bump.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,17 @@ prerelease_offset = 1
126126
!!! note
127127
Under some circumstances, a prerelease cannot start with `0`-for example, in embedded projects where individual characters are encoded as bytes. You can specify an offset from which to start counting.
128128

129+
## `retry_bump_after_failure`
130+
131+
when set to `true`, `cz bump` is equivalent to `cz bump --retry`. If the bump commit fails the first time (for example because a pre-commit hook reformatted a file), it is retried once. The retry only happens when the changelog is also updated (`--changelog` or `update_changelog_on_bump = true`).
132+
133+
If not specified, defaults to `false`.
134+
135+
```toml title="pyproject.toml"
136+
[tool.commitizen]
137+
retry_bump_after_failure = true
138+
```
139+
129140
## `tag_format`
130141

131142
See [`--tag-format`](../commands/bump.md#-tag-format).

‎docs/config/configuration_file.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ Key configuration categories include:
235235
- **Version Management**: `version`, `version_provider`, `version_scheme`, `version_files`
236236
- **Tagging**: `tag_format`, `legacy_tag_formats`, `ignored_tag_formats`, `gpg_sign`, `annotated_tag`
237237
- **Changelog**: `changelog_file`, `changelog_format`, `changelog_incremental`, `update_changelog_on_bump`
238-
- **Bumping**: `bump_message`, `major_version_zero`, `prerelease_offset`, `pre_bump_hooks`, `post_bump_hooks`
238+
- **Bumping**: `bump_message`, `major_version_zero`, `prerelease_offset`, `pre_bump_hooks`, `post_bump_hooks`, `retry_bump_after_failure`
239239
- **Commit Validation**: `allowed_prefixes`, `message_length_limit`, `allow_abort`, `retry_after_failure`
240240
- **Customization**: `customize`, `style`, `use_shortcuts`, `template`, `extras`
241241

‎tests/test_conf.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
"ignored_tag_formats": [],
8686
"bump_message": None,
8787
"retry_after_failure": False,
88+
"retry_bump_after_failure": False,
8889
"allow_abort": False,
8990
"allowed_prefixes": [
9091
"Merge",
@@ -126,6 +127,7 @@
126127
"ignored_tag_formats": [],
127128
"bump_message": None,
128129
"retry_after_failure": False,
130+
"retry_bump_after_failure": False,
129131
"allow_abort": False,
130132
"allowed_prefixes": [
131133
"Merge",

0 commit comments

Comments
 (0)