Skip to content

--prepend cannot reliably identify the previous header #712

@Cyclonit

Description

@Cyclonit

Is there an existing issue for this?

  • I have searched the existing issues

Description of the bug

The CLI argument --prepend is supposed to result in git-cliff injecting the changelog for recent releases into an existing changelog.

  1. Remove the old header.
  2. Prepend the new releases' bodies.
  3. Prepend the new header.

Step 1 relied on the header being static between runs of git-cliff. It performed a simple string comparison between the existing CHANGELOG.md and the current value in the changelog.header variable. Since #697, changelog.header contains a template. Thus its value might change between runs and thus prevent detecting the old header.

Steps To Reproduce

  1. Set changelog.header to a template such that the output after rendering changes between releases.
  2. Create a new release.
  3. Run git-cliff with the --prepend flag.

Expected behavior

git-cliff should properly detect and replace the old header.

Screenshots / Logs

No response

Software information

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions