Skip to content

fix(release): stop docs-sync PRs from carrying file-mode-only diffs#2469

Merged
Piotr1215 merged 1 commit into
mainfrom
devops/docs-sync-ignore-filemode
Jul 20, 2026
Merged

fix(release): stop docs-sync PRs from carrying file-mode-only diffs#2469
Piotr1215 merged 1 commit into
mainfrom
devops/docs-sync-ignore-filemode

Conversation

@Piotr1215

Copy link
Copy Markdown
Contributor

What this fixes

Successful docs-sync PRs carry hundreds of spurious file-mode-only diffs that bury the real content. Example: #2468 (v4.11.0 sync) had 116 changed files, but only 4 were real (the go.mod/go.sum/vendor pin bump). The other 112 were 100755 -> 100644 mode flips on unchanged .mdx partials.

Root cause

The versioned docs trees (platform_versioned_docs/version-*, etc.) were seeded from copies that carried an executable bit, so many committed partials are 100755. The doc generators write their output at 100644. The first successful sync into such a tree therefore flips the mode on every unchanged file. This is independent of the module-resolution fix in #2465; it surfaced now only because #2465 let the v4.11.0 sync reach the generate + commit steps for the first time.

The fix

Set git config core.fileMode false in the receiver before it generates and opens the PR. Docs files (.mdx, .md, .json) are never executed, so the executable bit is meaningless. With it ignored, sync PRs contain only real content changes. Applies to all sync event types (platform, vcluster, cli).

Notes

@netlify /docs

https://claude.ai/code/session_011X7gGW9wWWJw1C5kq9aN2U

The versioned docs trees (platform_versioned_docs/version-*, etc.) were
seeded from copies that carried an executable bit, so many committed
partials are 100755 while the doc generators write them at 100644. The
first successful sync into such a tree therefore flips the mode on
hundreds of unchanged files: PR #2468 (v4.11.0) carried 112 spurious
100755->100644 mode-only diffs alongside only 4 real content changes (the
go.mod/go.sum/vendor pin bump), burying the signal.

Set core.fileMode false in the receiver so git ignores the executable bit
for the sync. Docs (.mdx/.md/.json) are never executed, so the bit is
meaningless; sync PRs now contain only real content changes. This is
independent of the module-resolution fix in #2465 and applies to all sync
event types.

Claude-Session: https://claude.ai/code/session_011X7gGW9wWWJw1C5kq9aN2U
@Piotr1215
Piotr1215 requested a review from a team as a code owner July 20, 2026 13:41
@netlify

netlify Bot commented Jul 20, 2026

Copy link
Copy Markdown

Deploy Preview for vcluster-docs-site ready!

Name Link
🔨 Latest commit 13d67e9
🔍 Latest deploy log https://app.netlify.com/projects/vcluster-docs-site/deploys/6a5e259268ac520008b2056f
😎 Deploy Preview https://deploy-preview-2469--vcluster-docs-site.netlify.app/docs
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Piotr1215
Piotr1215 merged commit d5bb209 into main Jul 20, 2026
6 checks passed
@Piotr1215
Piotr1215 deleted the devops/docs-sync-ignore-filemode branch July 20, 2026 13:46
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