You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ConventionalCommitsCz): allow to override defaults from config
Before fixing tests and adding extra ones, I would like to received
partial feedback about my changes to see if this aligns with the desired
code changes by maintainers.
As addressed on commitizen-tools#535, when using customize commitizen, if we want to
customize a small attribute, we need to redefine all commitizens options
to make our custom class work.
For example:
```suggestion
diff --git a/cz.yaml b/cz.yaml
index 2e847b0..302e961 100644
--- a/cz.yaml
+++ b/cz.yaml
@@ -1,17 +1,18 @@
commitizen:
annotated_tag: true
bump_message: 'bump: $current_version -> $new_version [skip ci]'
- bump_pattern: '^(fix|feat|docs|style|refactor|test|build|ci)'
- bump_map:
- fix: PATCH
- feat: PATCH
- docs: PATCH
- style: PATCH
- refactor: PATCH
- test: PATCH
- build: PATCH
- ci: PATCH
-
- name: cz_conventional_commits
+ name: cz_customize
update_changelog_on_bump: true
version: 0.11.0
+
+ customize:
+ bump_pattern: '^(fix|feat|docs|style|refactor|test|build|ci)'
+ bump_map:
+ fix: PATCH
+ feat: PATCH
+ docs: PATCH
+ style: PATCH
+ refactor: PATCH
+ test: PATCH
+ build: PATCH
+ ci: PATCH
```
making the following change on a repo would cause an unexpected
behavior:
```python
+ bash -c cz commit
Traceback (most recent call last):
File "/home/amit/.local/bin/cz", line 8, in <module>
sys.exit(main())
File "/home/amit/.local/lib/python3.10/site-packages/commitizen/cli.py", line 382, in main
args.func(conf, vars(args))()
File "/home/amit/.local/lib/python3.10/site-packages/commitizen/commands/commit.py", line 74, in __call__
m = self.prompt_commit_questions()
File "/home/amit/.local/lib/python3.10/site-packages/commitizen/commands/commit.py", line 49, in prompt_commit_questions
for question in filter(lambda q: q["type"] == "list", questions):
File "/home/amit/.local/lib/python3.10/site-packages/commitizen/commands/commit.py", line 49, in <lambda>
for question in filter(lambda q: q["type"] == "list", questions):
KeyError: 'type'
```
From my best understanding, this error happens because I didn't defined
question section in config, though I'm ok with using
ConventionalCommitsCz default ones.
This commit extends ConventionalCommitsCz to read from config and
fallbacks to defaults if some are not provided.
By adding this change, potentially customize commitizen can be
deprecated.
Closescommitizen-tools#535.
0 commit comments