# 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](https://github.com/commitizen-tools/commitizen#why-are-revert-and-chore-valid-types-in-the-check-pattern-of-cz-conventional_commits-but-not-types-we-can-select) 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](https://commitizen-tools.github.io/commitizen/changelog/#incremental) which (I think) prepends to an existing `CHANGELOG`
## Usage
### Pre-Commit
To use in pre-commit, add this to your `pre-commit-config.yml`. Run `pre-commit autoupdate` to get the latest version
```yaml
repos:
- repo: https://github.com/commitizen-tools/commitizen
rev: main
hooks:
- id: commitizen
additional_dependencies: [cz_legacy]
stages: [commit-msg]
```
### 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
<!--Note: keep below tmol in-sync with 'EXAMPLE' used in the error message-->
```toml
[tool.commitizen]
name = "cz_legacy"
# Other tool.commitizen configuration options
[tool.commitizen.cz_legacy_map]
Chg = "Change (old)"
Fix = "Fix (old)"
New = "New (old)"
```
## 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](https://github.com/kyleking/cz_legacy).
## Project Status
See the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG].
## Contributing
We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:
- [DEVELOPER_GUIDE]
- [STYLE_GUIDE]
## Code of Conduct
We follow the [Contributor Covenant Code of Conduct][contributor-covenant].
### Open Source Status
We try to reasonably meet most aspects of the "OpenSSF scorecard" from [Open Source Insights](https://deps.dev/pypi/cz_legacy)
## Responsible Disclosure
If you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com).
## License
[LICENSE]
[changelog]: https://cz_legacy.kyleking.me/docs/CHANGELOG
[code_tag_summary]: https://cz_legacy.kyleking.me/docs/CODE_TAG_SUMMARY
[contributor-covenant]: https://www.contributor-covenant.org
[developer_guide]: https://cz_legacy.kyleking.me/docs/DEVELOPER_GUIDE
[license]: https://github.com/kyleking/cz_legacy/blob/main/LICENSE
[style_guide]: https://cz_legacy.kyleking.me/docs/STYLE_GUIDE
Raw data
{
"_id": null,
"home_page": "https://github.com/kyleking/cz_legacy",
"name": "cz_legacy",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "calcipy_template, commitizen, conventional commits, git",
"author": "Kyle King",
"author_email": "dev.act.kyle@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a6/d2/bcbd2793c462a1478cf29dd2289774d4e480d45b39ab047a349e9b504864/cz_legacy-2.0.1.tar.gz",
"platform": null,
"description": "# cz_legacy\n\nCustom 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.\n\nWhile 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](https://github.com/commitizen-tools/commitizen#why-are-revert-and-chore-valid-types-in-the-check-pattern-of-cz-conventional_commits-but-not-types-we-can-select) from commitizen that allows use of those commit types, but won't display them in the changelog.\n\n## Alternatives\n\nThis 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](https://commitizen-tools.github.io/commitizen/changelog/#incremental) which (I think) prepends to an existing `CHANGELOG`\n\n## Usage\n\n### Pre-Commit\n\nTo use in pre-commit, add this to your `pre-commit-config.yml`. Run `pre-commit autoupdate` to get the latest version\n\n```yaml\nrepos:\n - repo: https://github.com/commitizen-tools/commitizen\n rev: main\n hooks:\n - id: commitizen\n additional_dependencies: [cz_legacy]\n stages: [commit-msg]\n```\n\n### Configuration\n\nAt 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.\n\nBelow 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\n\n<!--Note: keep below tmol in-sync with 'EXAMPLE' used in the error message-->\n\n```toml\n[tool.commitizen]\nname = \"cz_legacy\"\n# Other tool.commitizen configuration options\n\n[tool.commitizen.cz_legacy_map]\nChg = \"Change (old)\"\nFix = \"Fix (old)\"\nNew = \"New (old)\"\n```\n\n## Issues\n\nIf 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](https://github.com/kyleking/cz_legacy).\n\n## Project Status\n\nSee the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG].\n\n## Contributing\n\nWe welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:\n\n- [DEVELOPER_GUIDE]\n- [STYLE_GUIDE]\n\n## Code of Conduct\n\nWe follow the [Contributor Covenant Code of Conduct][contributor-covenant].\n\n### Open Source Status\n\nWe try to reasonably meet most aspects of the \"OpenSSF scorecard\" from [Open Source Insights](https://deps.dev/pypi/cz_legacy)\n\n## Responsible Disclosure\n\nIf you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com).\n\n## License\n\n[LICENSE]\n\n[changelog]: https://cz_legacy.kyleking.me/docs/CHANGELOG\n[code_tag_summary]: https://cz_legacy.kyleking.me/docs/CODE_TAG_SUMMARY\n[contributor-covenant]: https://www.contributor-covenant.org\n[developer_guide]: https://cz_legacy.kyleking.me/docs/DEVELOPER_GUIDE\n[license]: https://github.com/kyleking/cz_legacy/blob/main/LICENSE\n[style_guide]: https://cz_legacy.kyleking.me/docs/STYLE_GUIDE\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extends Conventional Commits Change Types with User-Defined Legacy Types for Commitizen",
"version": "2.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/kyleking/cz_legacy/issues",
"Changelog": "https://github.com/kyleking/cz_legacy/blob/main/docs/docs/CHANGELOG.md",
"Documentation": "https://cz_legacy.kyleking.me",
"Homepage": "https://github.com/kyleking/cz_legacy",
"Repository": "https://github.com/kyleking/cz_legacy"
},
"split_keywords": [
"calcipy_template",
" commitizen",
" conventional commits",
" git"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4ba5e6922d41839c54a523d5c5111118dcb7131a37cd05b6e224dbfe95448993",
"md5": "0191f01c3dd584990a45cd40b7ad7f11",
"sha256": "2554f14a76edcd7537b31c115594c5695166254dd0289654ce9414e1340620df"
},
"downloads": -1,
"filename": "cz_legacy-2.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0191f01c3dd584990a45cd40b7ad7f11",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 6957,
"upload_time": "2024-06-24T00:20:22",
"upload_time_iso_8601": "2024-06-24T00:20:22.275248Z",
"url": "https://files.pythonhosted.org/packages/4b/a5/e6922d41839c54a523d5c5111118dcb7131a37cd05b6e224dbfe95448993/cz_legacy-2.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a6d2bcbd2793c462a1478cf29dd2289774d4e480d45b39ab047a349e9b504864",
"md5": "1b0c0f4cce3daa49b0ae0e544f2cc0a8",
"sha256": "0e922f440628cc9bb8b807e84343acd43b8a697545340f88e7daac36f30c4474"
},
"downloads": -1,
"filename": "cz_legacy-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "1b0c0f4cce3daa49b0ae0e544f2cc0a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 6715,
"upload_time": "2024-06-24T00:20:23",
"upload_time_iso_8601": "2024-06-24T00:20:23.965085Z",
"url": "https://files.pythonhosted.org/packages/a6/d2/bcbd2793c462a1478cf29dd2289774d4e480d45b39ab047a349e9b504864/cz_legacy-2.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-24 00:20:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kyleking",
"github_project": "cz_legacy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cz_legacy"
}