Skip to content

Drop or forward-declare the dead *.Dockerfile line-ending pin #926

Description

@ptr727

Raised by the fleet audit of this repository at main (16f196e), run stamp audit run 2026-08-15T15:13:26Z | hub d54862a.

What

.gitattributes:29 pins *.Dockerfile to LF, and no tracked file matches that glob. The tree carries a single Docker/Dockerfile, which the Dockerfile text eol=lf pin on the line above already covers.

The hub's scripts/repo_gate.py --check eol-coverage fails on it:

[FAIL] eol-coverage 1 issue(s)
         .gitattributes pins `*.Dockerfile` to LF and no tracked file matches it
         note: read 5 LF pin(s), 1 of them forward-declared, over 7 shebang file(s) in 186 tracked file(s).

The glob is a leftover from the per-distribution Dockerfiles (Ubuntu.Devel.Dockerfile, Alpine.Edge.Dockerfile, Debian.Testing.Dockerfile) that the consolidation onto one image removed.

Why it matters

A pin that matches nothing is indistinguishable from a pin whose files went missing, which is the case the check exists to catch: a shell script or a Dockerfile that quietly stopped being LF-enforced still reads as pinned. Every dead pin makes the next real one harder to see.

Remedy

Either is correct, and the second is right only if a *.Dockerfile file is genuinely expected back:

  1. Delete the *.Dockerfile line. Dockerfile text eol=lf covers what the tree holds.
  2. Mark the pin's comment block forward-declared, the way the uv.lock block above it already is, which is the documented way to state "no file matches this yet, on purpose".

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions