- An untracked file whose bytes the base tree already holds (git hash-object
matches a base blob) is no longer an offender, matching what staging the
same copy already did.
- With an explicit --head, the allowlist comes from that revision
(git cat-file <head>:.github/blob-size-allowlist.txt; none = no
exemptions), so `--base A --head B` judges B by B's own exceptions.
Working-tree mode still reads the file from disk.
- Tests for both: untracked copies of a base binary and base text file pass
while an edited one is still caught; --head honours head's list over a
conflicting checkout, a head without the list exempts nothing, and
working-tree mode reads the disk list.