gh-changelog icon indicating copy to clipboard operation
gh-changelog copied to clipboard

Support manual amendment of changelog entries

Open TLINDEN opened this issue 1 year ago • 4 comments

Hi,

would it somehow be possible to edit a generated Changelog in a way that gh-changelog keeps those edits? That way I could e.g. switch to a pull request workflow and edit past entries which didn't follow this workflow so they also have some information.

Maybe these amendments could be added to the config, e.g.:

amendments:
  v1.0.0:
    added:
      - feature
      - enhancement
    changed:
      - backwards-incompatible
    fixed:
      - bug
      - bugfix
      - documentation

This would help me a lot. I could switch using the extension for legacy projects etc.

TLINDEN avatar Oct 14 '22 08:10 TLINDEN

Hey, this sounds interesting.

Are you suggesting a feature that essentially allows you to override the entries for a given version?

Currently that is not possible but it's something we could potentially look at. Rather than put it in the config, maybe a repo local file called something like changelog_override.yml could work.

For now you could potentially use --from-version. It doesn't do exactly what you have requested here but might be a reasonable trade off for you at the moment.

edit: Actually, my bad! --from-version hasn't been released yet! If it's something that you'd like to try i'd be happy to cut a release today. Just let me know.

chelnak avatar Oct 14 '22 08:10 chelnak

@TLINDEN I've cut v0.10.0 https://github.com/chelnak/gh-changelog/releases/tag/v0.10.0

chelnak avatar Oct 14 '22 08:10 chelnak

Are you suggesting a feature that essentially allows you to override the entries for a given version?

Yes and no :) Either override or fill empty entries. Take a look at this Changelog. Most versions don't have any content and in those rare cases where there is something, it's only stuff generated by emacs/magit.

As I already mentioned in #103, my current workflow is to work in a dev branch and merge it with main when I'm done. I could easily switch to using pull requests so that gh-changelog gets something to eat. But this wouldn't help me with past versions.

Currently that is not possible but it's something we could potentially look at. Rather than put it in the config, maybe a repo local file called something like changelog_override.yml could work.

Sounds good, but I'd suggest putting this file as a hidden file, like .changelog_override.yml so that users looking at the repository don't get confused. Or add a commandline flag to specify the file.

For now you could potentially use --from-version. It doesn't do exactly what you have requested here but might be a reasonable trade off for you at the moment.

edit: Actually, my bad! --from-version hasn't been released yet! If it's something that you'd like to try i'd be happy to cut a release today. Just let me know.

Yeah, that would be another solution, I'd kind of mark past versions as "initial" or "unstable" and the one starting from as the first stable release or something. But on the other hand, starting from version 1.0.8 still looks a little bit odd, doesn't it?

TLINDEN avatar Oct 14 '22 08:10 TLINDEN

Yeah for sure. It could end up looking strange without some sort of explanation.

At Puppet we some times use a HISTORY.md to tidy away old changelog entries. A pattern like that with --from-version could get you by for in meantime.

chelnak avatar Oct 14 '22 18:10 chelnak