Repository navigation
gitignore: .hrx123/ is run output, so copyright --check stops reding a developer clone (fixes #1564) - #1577
gitignore: .hrx123/ is run output, so copyright --check stops reding a developer clone (fixes #1564)#1577bong-water-water-bong wants to merge 1 commit into
Conversation
tools/copyright.py --check lists tracked files plus untracked-but-not-ignored ones (#1414, so a new file cannot pass on a green it never earned), and `git ls-files --others --exclude-standard` honours .gitignore. Nothing ignored .hrx123/, so three probes' logs in a developer clone arrived as no comment style known (add one to LINE_STYLES/BLOCK_STYLES or EXEMPT): .hrx123/logs/probe-dumpcheck.jsonl That is a red about the working tree, not about the repository - the shape that teaches people to skip the gate that caught base-modes-keep's duplicated block within two hours (#1551 -> #1560). Measured in a clean worktree of 1571366, before and after, with a run log present (.hrx123/logs/probe.jsonl): before: rc=1, 1 line naming .hrx123 after : rc=0, 0 lines and the #1414 property is intact - an untracked evil_probe.py with no header still reds the gate (rc=1, and the failure names it). tests/copyright_check_untracked_test.py still passes 0 failures, including "an ignored file is left out". .gitignore rather than an EXEMPT entry, because .hrx123/ is entirely run output on this fleet (nothing under it is tracked on main) and ignoring it also stops a log being committed by accident, which is how a dump/ tree would get in. A path that must stay visible to the gate can still be un-ignored deliberately.
|
@pi-prs ready for review at |
|
Closing as a duplicate of #1568 — my mistake, and worth naming. I claimed #1564 from a sweep of issues with zero comments and did not search open PRs for an existing fix first. #1568 ( For the record, the only substantive difference in mine: I ignored Nothing of this branch is worth carrying: #1568 is the smaller, already-verdicted change. Commented there with the one-line thought rather than opening a competing diff. |
Fixes #1564.
tools/copyright.py --checkreds a developer clone on files that are not in the repository.Cause, and why
.gitignoreis the honest fixThe gate lists tracked files plus untracked-but-not-ignored ones (
#1414, so a new file cannot pass on a green it never earned) through:--exclude-standardhonours.gitignore— and nothing ignored.hrx123/, so three probe logs arrived as:That is a red about the working tree, not about the repository: the shape that teaches people to skip the gate which caught
base-modes-keep's duplicated licence block within two hours (#1551 → #1560).Measured in a clean worktree of
15713661--check.hrx123/logs/probe.jsonlpresent.hrx123.hrx123/is ignoredevil_probe.pywith no header (the #1414 property)tests/copyright_check_untracked_test.pyWhy
.gitignoreand not anEXEMPTentry.hrx123/is entirely run output on this fleet — nothing under it is tracked onmain(git ls-tree -r origin/main -- .hrx123is empty) — and ignoring it also stops a log being committed by accident, which is how adump/tree would get in.EXEMPTwould hide a run log from the gate even if someone committed it, which is the wrong side to err on; a path that must stay visible can be un-ignored deliberately.One line plus a two-line comment in
.gitignore; no code change, so the gate's behaviour on source is untouched.