commitizen icon indicating copy to clipboard operation
commitizen copied to clipboard

Release after dev release results in error

Open peterdragun opened this issue 1 year ago • 1 comments

Description

After creating a dev release I cannot create any release (dev or regular). The issue can be resolved if I remove the dev release from the changelog.

Also based on the documentation one would expect X.Y.devN version to work, but that is not the case.

Steps to reproduce

  1. Create a dev release by running: cz bump --devrelease 1 Changelog now contains entry for this dev release
  2. Create a regular release by running: cz bump

Current behavior

Error message:

change: Update version to 4.8.0
tag to create: v4.8.0
increment detected: MINOR

No tag found to do an incremental changelog

Seems like the only issue here is the changelog parsing.

Desired behavior

Commitizen should be able to parse the changelog and create a new release. Remove the dev release from the changelog and add changes to the new release.

Screenshots

No response

Environment

Commitizen version: 3.27.0 Python version: 3.12.3 OS: macOS Sonoma 14.5

Config - pyproject.toml:

[tool.commitizen]
    version = "4.8.0.dev5"
    update_changelog_on_bump = true
    tag_format = "v$version"
    changelog_start_rev = "v4.2.1"
    changelog_merge_prerelease = true
    annotated_tag = true
    bump_message = "change: Update version to $new_version"
    version_files = [
        "esptool/__init__.py:__version__"
    ]
    change_type_order = [
        "BREAKING CHANGE",
        "New Features",
        "Bug Fixes",
        "Code Refactoring",
        "Performance Improvements"
    ]

[tool.commitizen.change_type_map]
    feat = "New Features"
    fix = "Bug Fixes"
    refactor = "Code Refactoring"
    perf = "Performance Improvements"

peterdragun avatar Jul 11 '24 12:07 peterdragun

Do you have any updates for this? The issue (not sure if the only one) seems to be in using the SequenceMatcher to match the version. This evaluates that version 1.1.0 is closer to 1.2.0 than 1.2.0.dev1, which is not correct and ends with No tag found to do an incremental changelog error. This is really frustrating and means we cannot use Commitizen for dev releases as it is completely broken.

peterdragun avatar Dec 02 '24 12:12 peterdragun