Fix macOS clone collision from Unicode-normalization duplicate filenames#686
Conversation
Two PDFs in the Austin PQC conference event were each committed twice under byte-different but visually identical filenames (NFC vs NFD Unicode forms of the same accented characters). Git tracked both fine on Linux, but macOS's case/normalization-insensitive filesystem collapses them into one on checkout, producing the "paths have collided" warning on clone. Deduplicated and renamed both files to plain ASCII, updated the index.md references, and added a CI check (check:filenames, wired into `npm run check`) that fails the build if any future filenames collide under case-folding/NFC normalization.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
pkic-org | 0a552bf | Commit Preview URL Branch Preview URL |
Jul 10 2026, 07:07 PM |
There was a problem hiding this comment.
Code Review
This pull request introduces a script to detect filename collisions on case-insensitive or normalization-insensitive filesystems and integrates it into the project's check scripts, alongside fixing some existing filename issues in the event content. The feedback recommends wrapping the git command execution in a try-catch block to gracefully handle environments where git is unavailable or not initialized.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Two PDFs in the Austin PQC conference event were each committed twice under byte-different but visually identical filenames (NFC vs NFD Unicode forms of the same accented characters). Git tracked both fine on Linux, but macOS's case/normalization-insensitive filesystem collapses them into one on checkout, producing the "paths have collided" warning on clone. Deduplicated and renamed both files to plain ASCII, updated the index.md references, and added a CI check (check:filenames, wired into
npm run check) that fails the build if any future filenames collide under case-folding/NFC normalization.