chore(dedup): extend CC-bullet dedup to handle fix(#NNN): scope-as-issue-ref shape #293
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#293
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
scripts/lib/changelog.sh::changelog_dedup_cc_by_fragment_refsdedups CC-derived bullets against fragment filenames by keying on(#NNN)trailer format. This misses commits that put the issue ref in the CC scope instead of a trailer:produces bullet:
The dedup looks for substring
(#282)in the bullet; the scope-as-issue-ref shape only has**#282**:(bold, no parens). No match → no dedup → the CC bullet appears alongside any fragment for the same issue.Empirical anchor
release-toolkit v0.21.0 Cold Read (release-toolkit#287) surfaced two opaque reviewer-code Fixed bullets that leaked from
fix(#282): ...andfix(cut): ...commit subjects on main between v0.20.0 and v0.21.0. Fix pass (c5c610a) worked around by hand-editingCHANGELOG.md's v0.21.0 section + PATCH'ing the PR body. The workaround is durable for v0.21.0; the substrate-side fix is this tracker.Plan
Extend the dedup awk in
scripts/lib/changelog.sh::changelog_dedup_cc_by_fragment_refs:(#NNN)(trailer format) AND**#NNN**(bolded scope format)Tests: extend
tests/changelog.batswith mutation-verify for the scope-as-issue-ref shape (baseline pass + fixture withfix(#282): foocommit +282.fixed.mdfragment → CC bullet suppressed).Refs
c5c610a