Skip to content

Fix macOS clone collision from Unicode-normalization duplicate filenames#686

Merged
vanbroup merged 1 commit into
mainfrom
fix/macos-filename-collision
Jul 10, 2026
Merged

Fix macOS clone collision from Unicode-normalization duplicate filenames#686
vanbroup merged 1 commit into
mainfrom
fix/macos-filename-collision

Conversation

@vanbroup

Copy link
Copy Markdown
Contributor

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.

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.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread scripts/check-filename-collisions.mjs
@vanbroup vanbroup merged commit 047d412 into main Jul 10, 2026
6 checks passed
@vanbroup vanbroup deleted the fix/macos-filename-collision branch July 10, 2026 19:16
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