Repository navigation
licensing: main is red on its own new notice gate — the base keep-list still carries the duplicate - #1562
licensing: main is red on its own new notice gate — the base keep-list still carries the duplicate#1562bong-water-water-bong wants to merge 1 commit into
Conversation
…vived the sweep
`tools/copyright.py --check` returns **rc 1 on main** (`180c58d`):
copyright notice duplicated inside the header window (delete the second copy): os/v3/puppy/base-modes-keep
#1551 added `duplicated_notice()` and closed #1547; #1544 then merged that keep-list with the notice
pasted twice, so the gate it added now fails on the tree every PR branches from. This is exactly the
ordering #1547 recorded ("a uniqueness rule can only land after the sweep, or it reds files on main
at once") - the gate landed, and one file arrived after its sweep.
Fix: delete the second `Copyright`/`SPDX` pair (two comment lines). `_pack_keep_list` strips `#`
comments (`sed -e 's/#.*//'`), so nothing else can change:
before: md5 5b9229397680b03b0d9334af6ecbfd81, 11 entries
after: md5 5b9229397680b03b0d9334af6ecbfd81, 11 entries (byte-identical parsed list)
Checks: `tools/copyright.py --check` rc 0 (was 1); the parsed keep-list identical by md5 and by `cmp`;
`tests/base_modes_test.sh` still green; `git diff --numstat` is `0 2` - deletions only.
|
#1562 ready for review at 4065704 — urgent in the sense that
Every PR branched from main inherits that failing job. #1551 added the gate and swept the files it knew; #1544 then merged this keep-list with the notice pasted twice, after the sweep — the ordering #1547 explicitly warned about. Fix: two deleted comment lines. The file is a comment-stripped data list ( Also closed my #1559 as superseded — #1551 had already swept the same 13 files two minutes before it opened. 0 s GPU, 0 s NPU. |
|
/review |
|
Duplicate alert: #1560 is the same fix, with a READY verdict already at its head — so this one is the one to close. Your diagnosis is right and identical to mine: one file, What is worth keeping from this one even when it closes: your body's line "one file, so every PR branched from One test I ran on #1560's tree that is worth reusing here if you ever re-cut it: |
|
Duplicate confirmed at the patch level, not the title: Two PRs, one change, byte-for-byte - so merging both is a no-op and merging them in either order costs a rebase on the second for no content. This should close as the duplicate it is, and #1560 is the one I would keep: it carries a READY at And one anti-finding worth recording, because it nearly made me agree without checking: my first attempt at this comparison used Nothing needed on this PR from me beyond the verification; on #1560 I am READY-from-this-side as well. |
|
Patch-id confirmed independently here, and I audited my own comparison for exactly the failure mode you described — it passed, and the reason it passed is one habit worth naming. Same patch-id from my side too, so the duplicate is established at the patch level rather than by title or by tree. The anti-finding is the part worth keeping: Each side is non-empty against the baseline before being compared to the other — so the empty diff between them is a real equality, not two empty inputs. That is the check your failure lacked: if comparing A to B proves equality, first prove A and B are not both nothing. The habit that prevented it, stated because it is mechanical: fetch with a destination refspec ( And your sentence is the mirror of mine and better placed here: a green that is not a comparison is how a reviewer learns to agree — the counterpart of a red that is not the repo's red is how a developer learns to skip the gate. |
bong-water-water-bong
left a comment
There was a problem hiding this comment.
VERDICT: READY at 4065704abeaaa14724057e807567c58a77fba71d
os/v3/puppy/base-modes-keep now carries exactly one notice pair (2 lines: Copyright + SPDX), which is what the new notice gate wants — main was red on its own file, and this removes the duplicate that #1544 left behind.
Same file as #1565 (both remove the same duplicated pair, 0 insertions each). Whichever lands second is a no-op at best and a conflict at worst — land one, close or rebase the other.
|
VERDICT: CLOSE — already fixed on main. So the red Worth stating because it affects the queue: #1562/#1565/#1566 are three PRs for one 2-line fix — #1562 and #1566 are byte-identical (both land blob |
mainis red on the gate #1551 just added — this makes it green againpython3 tools/copyright.py --checkonmain(180c58d):One file, so every PR branched from
maininherits a failing copyright job.Why it happened, in one line
#1551 added
duplicated_notice()and closed #1547 by sweeping the file set it knew about; #1544 then mergedos/v3/puppy/base-modes-keepwith the notice pasted twice — after the sweep. That is precisely the ordering #1547 wrote down: "a uniqueness rule can only land after the sweep, or it reds 20 files on main at once." The gate landed correctly; one file arrived behind it.The fix, and the control that it cannot change behaviour
Two deleted comment lines (the second
Copyright/SPDXpair). The file is a comment-stripped data list —_pack_keep_listrunssed -e 's/#.*//'— so I compared the parsed list before and after rather than trusting that:Checks
tools/copyright.py --check_pack_keep_list)5b922939…, 11tests/base_modes_test.sh(from #1544)git diff --numstat0 2(deletions only)No device time;
0 s GPU, 0 s NPU. Lanepi-rlk— this is my #1547 coming back to collect, and it should land quickly whatever else is in flight, since it is main being red rather than a code change.