fix: re-sign the unsigned commits on main and configure commit signing #422
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#422
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?
Problem
Six commits landed with NO GPG signature (
sig=N), while all prior history is signed with key6E62A0A72715C1F6(hexajon). Author and committer are correctlyhexajon <jon@sixfold.space>on all of them. Only the signature is missing.Unsigned commits:
main:2568aa79,d5032b34,1de91fc5,dad0a1a1,fedf9040docs/prelaunch-marker-tracking:1d90b2fdRoot cause
They were committed from a clone whose git config had no signing set:
commit.gpgsign,user.signingkey, andgpg.formatwere all empty.madt_commitset author and committer to hexajon, but nothing signed the commits.Fix
user.signingkey=6E62A0A72715C1F6,commit.gpgsign=true, andtag.gpgsignto match. This needs the hexajon secret key present in that environment.git rebase 49cad064 --exec 'git commit --amend --no-edit -S'over the branch covers the main range plus1d90b2fd, or amend per commit.mainneeds a force-push tomain. I run that step by hand, because rewriting merged history onmainis not something to automate.Constraints
This has to be done from the checkout that holds the signing key, and by hand. From that checkout: configure signing, run
git rebase 49cad064 --exec 'git commit --amend --no-edit -S'over the range, then force-pushmain. Closing the config gap (commit.gpgsign/user.signingkey/gpg.formatunset in a fresh clone) only helps in an environment where the key is already present, which is the underlying weakness.#424 tracks making signing travel with the forge credential, so this stops recurring.
madt_repos editlacks fast-forward-only + rebase-explicit merge flags and mislabelsallow_rebase_update#432Decided: re-sign the six unsigned commits via a history rewrite, as a manual by-hand step.
#436 chose to accept the 45 noreply commits, so this rewrite stays shallow: only the six correctly-authored-but-unsigned commits get amended and re-signed.
Recipe, run by hand from the checkout holding signing key 6E62A0A72715C1F6:
git rebase 49cad064 --exec 'git commit --amend --no-edit -S'mainby hand.This rewrites the six commit hashes and every downstream + mirror hash, so it is a deliberate by-hand operation, not a madtea flow, and not something an agent runs (force-push is guarded). Recurrence is already prevented by the #424 config fix. Clearing needs-decision: the decision is made; the force-push remains a manual step.