Git changelog generator learns to handle non-main branch topologies
A developer built a deterministic changelog generator that diffs two commits and produces structured release notes without rewriting history. The first version assumed every team merges into main, which produced misleading output when projects used develop, master, release branches, or tags on feature branches. To fix this, the tool now accepts a branch parameter and resolves the merge-base automatically. When commits sit on divergent branches, it explicitly reports that instead of fabricating a linear history. The author's key takeaway is that changelog tools should treat git history as a DAG and compute changes via reachability set-difference rather than commit distance.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in