Skip to content

pack: the case warning says only what happens to names that differ in case - #103

Merged
enesismail merged 1 commit into
mainfrom
the-case-collision-warning-claims-only-what-the-platform-does
Oct 5, 2026
Merged

enesismail merged 1 commit into
mainfrom
the-case-collision-warning-claims-only-what-the-platform-does

Conversation

@enesismail

Copy link
Copy Markdown
Contributor

What was wrong. The warning for names that differ only in capitalisation said they "would collide once the site is served" and that the site "will serve whichever the platform kept". Neither is true. Every step that stores and serves a site keeps a path's letter case: each spelling is its own file at its own address, and an address with the wrong case is a page that is not there. That was checked on a live site: the real address answered, and the same address with one letter's case changed did not.

What changes.

  • The message is now "N file names differ only in capitalisation:", followed by the names as before.
  • The next step reads: "If they end up on the site, each is its own address, and a link has to match its capitalisation exactly. If they are meant to be one file, keep one; otherwise rename one so the names differ by more than case."
  • It is conditional because the detector runs over the whole walked tree, and a pair outside the published folders (two components under the source folder, say) never reaches the site. The detector, its id, its severity and its grouping are unchanged.
  • The function's comment says the same, and no longer says the names "would become one file".

Row (written first, and red against the old text on every assertion): the exact message and next step for a two-name and a three-name group, read from the function's own output, plus a refusal of "collid" and "whichever the platform kept" in either field, case-folded.

Mutations, each run and reverted: the old message restored; the old next step restored; the count's two words swapped; "capitalisation" spelled with a z; "or they collide" appended; the message's trailing colon removed. Each reds both subtests.

… case

The warning for two names that differ only in capitalisation said they
would collide once the site was served, and that the site would serve
whichever of them the platform kept. Neither is true. Every step that
stores and serves a site keeps a path's letter case, so each spelling is
its own file at its own address, and an address with the wrong case is a
page that is not there.

The detector is unchanged: it still finds every such group over the
whole walked tree. Because that tree includes files that never reach the
site, the text now says what happens if the names are published rather
than that they will be, and what to do about it: keep one if they are
meant to be one file, otherwise rename one.

A row pins both strings for a two-name and a three-name group and
refuses any return of the two false claims.
@enesismail
enesismail added this pull request to the merge queue Oct 5, 2026
Merged via the queue into main with commit eae405e Oct 5, 2026
13 checks passed
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