commitizen icon indicating copy to clipboard operation
commitizen copied to clipboard

`cz bump` generates broken commit when run from a subfolder.

Open jenstroeger opened this issue 9 months ago • 6 comments

Description

When running cz bump --changelog from a folder other than git’s base then

  • changelog is generated in whatever folder I’m currently in instead of finding the file in the base folder, and
  • additional version_files aren’t updated at all because they’re not found.

There’s no warning or error that the additional version files weren’t found either.

If cz runs under the assumption that cwd should be the git base folder then that should be handled more gracefully, either using a warning or by finding the files correctly. As it is, running cz from some folder deeper inside of the git repo yields an unexpected and incorrect bump commit.

Steps to reproduce

Change into any subfolder in a git repo, then run cz bump --changelog.

Current behavior

  • No warnings or errors.
  • New CHANGELOG file in whichever subfolder I’m in, instead of amending the actual CHANGELOG.
  • None of the files listed in version_files are found and updated.

Desired behavior

Update the actual CHANGELOG and bump files listed in version_files.

Screenshots

No response

Environment

Commitizen Version: 4.1.0
Python Version: 3.13.2 (main, Feb  8 2025, 23:18:32) [Clang 14.0.3 (clang-1403.0.22.14.1)]
Operating System: Darwin

jenstroeger avatar Mar 15 '25 02:03 jenstroeger

Hi @jenstroeger , thanks for reporting this. I just verify this with the following.

cd /tmp
mkdir test-cz
cd test-cz
git init
cz init
git add .
mkdir test
cd test
touch testfile
git add .
cz c
cz bump --change

the CHANGELOG.md is generated in the test subdirectoy instead of the root

Lee-W avatar Mar 30 '25 09:03 Lee-W

Hi @Lee-W, I have reproduced the bug. Is the right way to place the CHANGELOG to the same directory as .cz.toml?

Yusin0903 avatar Apr 08 '25 17:04 Yusin0903

Hi @Lee-W, I have reproduced the bug. Is the right way to place the CHANGELOG to the same directory as .cz.toml?

Yep, I think so. 👀

Lee-W avatar Apr 09 '25 01:04 Lee-W

@Lee-W thanks for the response! Can I try this issue? I can do with other issue.

Yusin0903 avatar Apr 09 '25 02:04 Yusin0903

@Lee-W thanks for the response! Can I try this issue? I can do with other issue.

Sure! Thanks for helping out 🙂

Lee-W avatar Apr 09 '25 02:04 Lee-W

@Lee-W yes, you reproduce this correctly. Basically, given my package repo and no matter what the current folder I’m in, I expect that running cz updates the “real” CHANGELOG file at the root of the package/repo.

jenstroeger avatar Apr 13 '25 23:04 jenstroeger