Intake DCO check skips merge commits - #10
Conversation
The DCO check counted every commit in the PR range, so a routine update of a branch with its base (or the GitHub Update branch button) added an unsigned merge commit that failed DCO with no clean fix: a merge commit cannot be signed without rewriting history. Build the commit list with --no-merges, matching the DCO convention. Guard the flag in the intake self-test. Signed-off-by: Christoph <awchristoph@gmail.com>
|
ASDD review - advisory (recommendation:
The PR adds --no-merges to the git log command in the intake workflow so merge commits are excluded from the DCO check, fixing a bug where routine branch updates produced an unsigned merge commit that failed DCO with no clean remedy. A self-test guards the flag's continued presence. The change is a one-flag bug fix that aligns with the DCO convention (the DCO app also skips merges). No security concerns: the workflow path remains read-only for analysis, no secrets are involved, and no dependencies changed. The change is non-normative - the DCO requirement itself is unchanged, only the implementation's handling of merge commits is corrected - and the author's chore declaration matches. | Adversarial pass: The PR adds a single CODE - ok
SECURITY - okNo findings. SPEC - ok
IMPACT - concerns
QUALITY - ok
Generated by the ASDD advisory review. Mode: |
Summary
The intake DCO check counted every commit in the PR range, including merge commits. A merge commit carries no change of its own and cannot be signed off without rewriting history, so a routine update of a branch with its base (or the GitHub "Update branch" button) adds an unsigned merge commit that fails DCO with no clean remedy. Build the commit list with
--no-merges, matching the DCO convention. The intake self-test guards the flag.Disclosure (required - ASDD)
Agent identity:
asdd-agentInstructed by (human handle):
welsbachChecklist
git commit -s)