Skip to main content

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]

Developer Information

See ./CONTRIBUTING.md

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cz_legacy-0.1.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cz_legacy-0.1.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file cz_legacy-0.1.1.tar.gz.

File metadata

  • Download URL: cz_legacy-0.1.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.3 Darwin/19.6.0

File hashes

Hashes for cz_legacy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 30eda30e242ede02ba9376f41e147336c7e2ec9e449510f0217366a0da7f1564
MD5 51f2dd733916851675556c57cac5aa9a
BLAKE2b-256 0b9415df354753c4892f2df599d0e23276c3e2f0f1905dc67b0bd67ccd76a151

See more details on using hashes here.

File details

Details for the file cz_legacy-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cz_legacy-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.3 Darwin/19.6.0

File hashes

Hashes for cz_legacy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba01370ccd2c6036aa78cff6595d9ba23f07ceb4c1ed4333dd53ec197d083015
MD5 b1c956263af1f5aa3a73b6b19b27b70e
BLAKE2b-256 39f20115230443ab9cb0cbb925e55b1623f285851f5e35ae7f8565b83d833bc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page