Extends Conventional Commits Change Types with User-Defined Legacy Types for Commitizen
Project description
cz_legacy
Custom Commitizen parser for user-specified legacy change types. The parser utilizes the cz_conventional_commits
pattern and extends with the tag mapping specified in the configuration file
While old change types will appear in the Changelog, the user will be prevented from using them in new commits. This is the reverse of the revert/chore logic from commitizen that allows use of those commit types, but won't display them in the changelog
Alternatives
This customization only works when old commits use the <change_type>: <message>
format that can be parsed by commitizen. If that doesn't fit your use case, you may want to try out incremental which (I think) prepends to an existing CHANGELOG
Usage
Install
Install the package from PyPi: pip install cz_legacy
or from git: pip install git+https://github.com/KyleKing/cz_legacy.git@main
Configuration
At minimum, you must have the name = "cz_legacy"
and [tool.commitizen.cz_legacy_map]
in your configuration file. The below example is for TOML, you can also utilize a YAML or JSON file.
Below is an example of the three change legacy types Chg, Fix, and New, but the user can choose any tag names and associated mapping for the Changelog
[tool.commitizen]
name = "cz_legacy"
# Other tool.commitizen configuration options
[tool.commitizen.cz_legacy_map]
Chg = "Change (old)"
Fix = "Fix (old)"
New = "New (old)"
Pre-Commit
To use in pre-commit, add this to your pre-commit-config.yml
repos:
- repo: https://github.com/commitizen-tools/commitizen
rev: v2.11.1
hooks:
- id: commitizen
additional_dependencies: ["cz_legacy"]
stages: [commit-msg]
Issues
If you have any feature requests, run into any bugs, or have questions, feel free to start a discussion or open an issue on Github at https://github.com/kyleking/cz_legacy.
Background
I couldn't find a good way of adding a few legacy change types from an old commit style to commitizen so I built a package to extend the ConventionalCommitsCz to provide custom logic. For reference, these are the default settings
Roadmap
See the Open Issues
and Milestones
for current status and ./docs/CODE_TAG_SUMMARY.md for annotations in the source code.
For release history, see the ./docs/CHANGELOG.md
Contributing
See the Developer Guide, Contribution Guidelines, etc
- ./docs/DEVELOPER_GUIDE.md
- ./docs/STYLE_GUIDE.md
- ./docs/CONTRIBUTING.md
- ./docs/CODE_OF_CONDUCT.md
- ./docs/SECURITY.md
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cz_legacy-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b1bc282d14a3834dc6321f7e2d97dc8e79512a0896bfa71637b6168fa17552d |
|
MD5 | 7d88bd9d07fd7ae6a3310715062ad6e0 |
|
BLAKE2b-256 | a115a7012c4887f75b6ad05621ff814f51f536db46882df781c6a9a7687344b7 |