Skip to content

Reword canonical .editorconfig/.gitattributes CRLF-exception comments for a carrier's own pin #1992

Description

@ptr727

Vantage-Config#28's review and issue #1948's comments raised three wording gaps in the
canonical .editorconfig and .gitattributes this repository authors, each surfaced by a
carrier repo that added its own CRLF pin beyond .bat/.cmd:

  1. .editorconfig's "only the CRLF exception below is declared" and its call of
    [*.{bat,cmd}] "the one CRLF exception" assume a single exception. A carrier that adds its
    own pin (Vantage-Config's .dc) has to reword both locally to stay accurate. Plural phrasing
    in the canonical file (e.g. "the CRLF exceptions below") would let such a carrier keep the
    comment verbatim.
  2. .editorconfig's "CI verifies the committed bytes against this file." is inaccurate: CI
    runs editorconfig-checker on the checked-out tree, and any text eol=crlf path (the
    canonical *.bat/*.cmd, and a carrier's own pin such as Vantage-Config's *.dc) is stored
    LF but checked out CRLF. Vantage-Config's local copy already reads "CI verifies the
    checked-out files against this file."; a resync should not revert that line until the
    canonical wording matches it.
  3. .gitattributes's header, "Normalize every detected text file to LF in the index and on
    checkout."
    , is inaccurate for the same reason: the *.bat/*.cmd text eol=crlf pins
    right below it check those out CRLF. Copilot flagged this on Vantage-Config#31, and
    Vantage-Config#32 rewords the local copy to "Normalize every detected text file to LF in the
    index, and to LF on checkout except where a CRLF pin below applies." (.gitattributes is
    intent fidelity in spec/files.json, so a carrier's local wording is already allowed to
    diverge, but the canonical text should say the accurate thing so carriers do not each have to
    fix it independently.)

Fixing these is a canonical-content wording change in this repo's own .editorconfig and
.gitattributes, not a per-carrier drift note, and #1948 deliberately left the wording open
rather than deciding it here.

Related: #1948.

🤖 Generated with Claude Code

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