fix(gcc2026): rename Keynote.jpg to avoid case-only filename collision#4143
Merged
Conversation
Two distinct images were tracked at paths differing only in case: Keynote.jpg (news recap) and keynote.jpg (event page tile). On case-insensitive filesystems (macOS, Windows) only one can exist in the working tree, so checkouts silently lose one image and report a permanent spurious modification. Rename the news recap image to keynote-recap.jpg and update its reference. The event page image keeps its original path, so no published URL for it changes.
itisAliRH
force-pushed
the
fix/gcc2026-keynote-image-case-collision
branch
from
July 20, 2026 16:52
ed88db0 to
5f705b4
Compare
Member
|
It's now the second time we see this. Is ther a way we can lint it? Should we enforce all lowercase filenames? |
Member
|
Took a crack at linting for this in #4145 -- fails CI on any case-only path collision (this exact |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Two different images are tracked at paths that differ only in case:
content/images/events/gcc2026/Keynote.jpgcontent/news/2026/2026-07-06-gcc2026-recap/index.mdcontent/images/events/gcc2026/keynote.jpgcontent/events/gcc2026/index.md,astro/src/content/events/events--gcc2026.mdOn case-insensitive filesystems (macOS APFS/HFS+ default, Windows NTFS default) both paths resolve to one file. Consequences for contributors on those platforms:
git statusreports a permanent, unfixable modification tokeynote.jpg(its contents are actuallyKeynote.jpg's blob).git checkout/ branch switches can flip which image is present.Keynote.jpgwas added in 5b92312 (GCC2026 news post photos) alongside the pre-existing lowercasekeynote.jpg, so the collision has been present since then.Fix
Rename the news-recap image to a distinct, lowercase name and update its single reference:
content/images/events/gcc2026/Keynote.jpg→content/images/events/gcc2026/keynote-recap.jpgcontent/news/2026/2026-07-06-gcc2026-recap/index.md—srcupdated to matchThe event-page image keeps its original
keynote.jpgpath, so neither the event page nor the Astro event content changes.Note on the changed URL
/images/events/gcc2026/Keynote.jpgwill 404 after this merges. It is referenced only from the recap news post, which is updated here, so there is no in-repo breakage. External deep links to that image (if any) would break — flagging in case a redirect is wanted.Verification
grep -rn "eynote.jpg" content/ astro/returns only the intended references.git statuson macOS after checkout — no phantom modification.