commitizen-tools / commitizen

Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
https://commitizen-tools.github.io/commitizen/
MIT License
2.39k stars 257 forks source link

Tag name validation issue on `cz bump --changelog` #845

Open josuerzslzr opened 11 months ago

josuerzslzr commented 11 months ago

Description

When generating changelog, get_version_tags function from commitizen/changelog.py is validating existing tags as if they were version names with no additional text on them. This behavior conflicts with the feature of customizing tag_format

Steps to reproduce

  1. Use some custom prefixed tag_format in .cz.yaml, tag_format: some-project-release-$version

  2. Do initial version commit, bump and generate changelog: cz bump --changelog

  3. Do subsequent fix/feat commit, bump and generate changelog: cz bump --changelog

ER: Version bumped, changelog generated. AR: Error saying No tag found to do an incremental changelog

Current behavior

get_version_tags function from commitizen/changelog.py is validating tag names as if they where version names, hence it's not able to return existing custom tags, an error appears saying No tag found to do an incremental changelog

Desired behavior

Allow the changelog to generate regardless of tag name custom prefixes, possible solution could be to exclude the tag name prefix when checking with scheme(tag.name)

Screenshots

No response

Environment

Commitizen 3.8.2 Python 3.10.12

saivenky commented 11 months ago

I'm having the same issue. This would be fixed by https://github.com/commitizen-tools/commitizen/pull/692 (which is linked to issue https://github.com/commitizen-tools/commitizen/issues/519).

hermanho commented 4 months ago

When can fix it? I cannot use commitizen in a monorepo repo and the config tag_format is useless.

AlexeySanko commented 3 months ago

Looks as great feature for monorepo. Any update on it?