Repository navigation
chore: normalize all CRLF blobs to LF - #126
Merged
Merged
Conversation
The committed blob had CRLF line endings, but .gitattributes requires LF for *.ts, so every checkout showed the file as modified. This stores the same content with LF endings; `git diff --ignore-cr-at-eol` shows no changes, and the file mode (100755) is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
These were the last tracked blobs stored with CRLF, despite `*.ts text eol=lf` in .gitattributes, so every clone without a local .git/info/attributes override showed them as modified. Same content with LF endings (`git diff --ignore-cr-at-eol` is empty); modes unchanged. The checkpoint's step 1 now says the repository is LF-only, that a line-ending-only diff should be restored rather than preserved, and that no local override is needed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ends the phantom "modified" files on every checkout by storing the last four CRLF blobs with LF endings. No content changes.
What was wrong
.tsblobs were stored with CRLF line endings:src/__tests__/factory.test.ts,src/errors.ts,src/index.tsandsrc/types.ts..gitattributesrequires LF (*.ts text eol=lf), so a checkout showed them as modified.-textoverride in.git/info/attributes. Earlier agent handoffs treated the remainingfactory.test.tsdiff as local work to preserve.Change
ce969ce: renormalizefactory.test.ts.332bb26: renormalizeerrors.ts,index.tsandtypes.ts.git diff --ignore-cr-at-eolagainstmainis empty, and the file modes are unchanged.docs/maintenance/issue-sweep.md):git diff --ignore-cr-at-eolhas only a line-ending difference. Restore it withgit checkout -- <file>instead of preserving it.Verification
git ls-files --eolreports noi/crlfblobs.git clone --no-localof this branch on Windows, withcore.autocrlf=trueand no.git/info/attributesentries, shows a cleangit status.tsc --noEmitpasses, and the full vitest suite passes (789 tests across 30 files).Not changed
factory.test.tsand the three source files keep mode 100755. The executable bit is probably accidental, but it is unrelated to line endings; it can be cleared separately.Round 1 review (merge after fixes): the first version left three CRLF blobs, so its "fresh checkout is clean" claim was false. Its checkpoint step also relied on the machine-local override. Both are fixed here.
🤖 Generated with Claude Code