commitizen icon indicating copy to clipboard operation
commitizen copied to clipboard

`changelog_hook` not called when "--dry-run" is passed

Open c0dearm opened this issue 3 years ago • 3 comments

Description

I am trying to modify the default changelog created by Commitizen to add a few links at the end of it. For that, I saw in the documentation I could use the changelog_hook in my custom class: https://commitizen-tools.github.io/commitizen/customization/#custom-changelog-generator

Apparently though, that hook is never called by Commitizen, so it is rather usless. From a quick search in the code, I can see its only appearance is the declaration in the BaseCommitizen class.

Steps to reproduce

  1. Create a custom class inheriting from BaseCommitizen
  2. Write the changelog_hook method and do something visible.
  3. Set up your project configuration so that your custom class is used by Commitizen
  4. Commit something and perform a cz bump --changelog --dry-run
  5. Check how the changelog remains being the default.

Current behavior

Nothing happens and the changelog remains the same.

Desired behavior

The changelog_hook should be called and the outputted changelog should have the changes that were applied in the method.

Screenshots

No response

Environment

Commitizen Version: 2.37.0
Python Version: 3.10.6 (main, Nov  2 2022, 18:53:38) [GCC 11.3.0]
Operating System: Linux

c0dearm avatar Nov 23 '22 10:11 c0dearm

After some more investigation I saw it is actually called, but only when generating the real changelog file, not during dry-runs. Probably it should work with dry-runs too.

c0dearm avatar Nov 23 '22 11:11 c0dearm

Hi @c0dearm , thanks for reporting! I just change the description to enhance the readability of this issue

Lee-W avatar Dec 03 '22 07:12 Lee-W