Skip to content

chore(github): remove duplicate uppercase PULL_REQUEST_TEMPLATE.md#591

Merged
AbirAbbas merged 1 commit into
mainfrom
chore/dedupe-pr-template-case-collision
May 25, 2026
Merged

chore(github): remove duplicate uppercase PULL_REQUEST_TEMPLATE.md#591
AbirAbbas merged 1 commit into
mainfrom
chore/dedupe-pr-template-case-collision

Conversation

@AbirAbbas
Copy link
Copy Markdown
Contributor

Summary

.github/ currently contains two PR-template files differing only by letter case:

Path Size Notes
.github/PULL_REQUEST_TEMPLATE.md 467 B Older minimal template, last meaningfully touched in the initial add.
.github/pull_request_template.md 2393 B Detailed template added in #368 — references the coverage gate every current PR uses.

Git tracks both as separate blobs (it's case-sensitive). Case-insensitive filesystems (macOS/Windows, default) can only materialize one file at that path, so users on those platforms see:

  • git status reports a permanent phantom "modified" file that can never be cleaned — git checkout just flips which casing is dirty.
  • GitHub's template resolution is case-insensitive, so with two candidates the rendered PR template is ambiguous/undefined.

Linux + CI is unaffected (both files materialize fine), which is why this slipped past review when #368 merged.

Changes

  • git rm .github/PULL_REQUEST_TEMPLATE.md (the uppercase 467 B stub) using the exact-cased path on a case-sensitive Linux clone — required, since a macOS clone can't stage the removal of just one of the two.
  • Keeps .github/pull_request_template.md (the lowercase 2393 B detailed template) untouched.

Test plan

  • Confirmed both blobs exist on origin/main pre-fix: git ls-tree origin/main .github/ | grep -i pull_request → both present.
  • After commit, ls .github/ shows only pull_request_template.md remains.
  • After merge: macOS/Windows clones should no longer report a phantom modified file in .github/.
  • After merge: opening a new PR should consistently render the detailed (2393 B) template.

Follow-up worth considering (not in this PR)

A pre-commit / CI check that flags case-only path collisions across the repo would prevent recurrence. Out of scope here.

`.github/` contained two PR-template files differing only by case:

  - PULL_REQUEST_TEMPLATE.md (467B, minimal, older)
  - pull_request_template.md (2393B, detailed template added in #368,
    includes coverage-gate guidance referenced by all current PRs)

Git tracks both as separate blobs because it's case-sensitive, but
case-insensitive filesystems (macOS/Windows, default) can only
materialize one of them. Symptoms on those platforms:

  - `git status` reports a permanent phantom "modified" file that
    cannot be cleaned; `git checkout` just flips which casing is dirty.
  - GitHub's template resolution is case-insensitive, so with two
    candidates the rendered PR template is ambiguous.

Linux/CI is unaffected (both files materialize fine), which is why
this slipped past review when #368 landed.

Keep the lowercase, detailed template; remove the uppercase stub.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@AbirAbbas AbirAbbas requested a review from a team as a code owner May 25, 2026 20:26
@AbirAbbas AbirAbbas merged commit 3c750ac into main May 25, 2026
15 checks passed
@AbirAbbas AbirAbbas deleted the chore/dedupe-pr-template-case-collision branch May 25, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant