orhun / git-cliff

A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
https://git-cliff.org
Apache License 2.0
9.3k stars 199 forks source link

Allow disabling topological order for commits #804

Open orhun opened 2 months ago

orhun commented 2 months ago

Is there an existing issue or pull request for this?

Feature description

See #800 for the problem description. To put it briefly, there might be edge cases where the changelog commits aren't ordered correctly when the merge commits are used.

Desired solution

Topological order was introduced as default behavior in #415. This behavior should be configurable (e.g. as date order) in the configuration file as follows:

# sort the commits topologically
topo_order_commits = false

We can also rename topo_order option to topo_order_tags for better alignment between these two options.

I'm not the best at naming. Maybe @Cyclonit have better ideas since he worked on #541

Alternatives considered

None.

Additional context

See #800

orhun commented 1 month ago

This will probably fix #498 and #585

alerque commented 3 weeks ago

I'm guessing this is the issue I'm having with decasify whereby if I regenerate the changelog it nukes any record of the v0.6.0 release from orbit and stuffs the only related commit (from a long running breaking change branch) into the v0.5.8 changelog where it does not belong.

orhun commented 2 weeks ago

Yeah... It's not super ideal but we should turn my suggestion solution into reality for the next release.