orhun/git-cliff

`--prepend` cannot reliably identify the previous header

开放

#712 创建于 2024年6月17日

 (3 条评论) (0 个反应) (0 位负责人)Rust (308 个派生)auto 404
bughelp wanted

仓库指标

星标
 (12,040 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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

  • After PR #698

Additional context

No response

贡献者指南