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
epic
kind
feature
loop/paused
mirror-drift
priority
critical
priority
high
priority
low
priority
medium
size
L
size
M
size
S
size
XL
status
blocked
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…
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