Skip to content

Allow case-only generated paths on case-sensitive filesystems - #975

Merged
iuliiasobolevska merged 1 commit into
masterfrom
codex/case-collision-check-only-when-needed
Oct 6, 2026
Merged

iuliiasobolevska merged 1 commit into
masterfrom
codex/case-collision-check-only-when-needed

Conversation

@iuliiasobolevska

Copy link
Copy Markdown
Collaborator

Summary

Generated sources whose paths differ only by case worked on case-sensitive filesystems in 8.7.0. The parallel writer added an unconditional case-folded collision check, so those schemas now fail before writing. This change probes the output filesystem only when a case-folded collision exists and rejects the collision only if the filesystem treats the two spellings as the same file.

Exact-path duplicates retain their existing last-wins behavior. The probe is removed in finally, and the existing error message is preserved on case-insensitive filesystems.

Validation

  • :graphql-dgs-codegen-core:test --tests com.netflix.graphql.dgs.codegen.ParallelFileWritingTest passed on JDK 17 with the in-process Kotlin compiler.
  • :graphql-dgs-codegen-core:formatKotlin and git diff --check passed.
  • The test exercises the branch for its host filesystem; Linux CI will exercise the case-sensitive branch.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@iuliiasobolevska
iuliiasobolevska force-pushed the codex/case-collision-check-only-when-needed branch from d957f62 to 3de611f Compare October 6, 2026 21:16
@iuliiasobolevska
iuliiasobolevska merged commit 54ed2f5 into master Oct 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants