chore: pin line endings to LF and renormalize#49
Merged
Conversation
|
Important Review skippedToo many files! This PR contains 212 files, which is 62 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (212)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
The previous `* -crlf` rule only disabled CRLF conversion at checkout (files kept whatever endings they had on commit) but didn't coerce a single convention, leaving the index mixed: some files LF, others CRLF. With Windows clones using core.autocrlf=true and tooling that writes LF (most editors and AI agents), this surfaces as "LF will be replaced by CRLF the next time Git touches it" warnings on every commit. Pin everything to LF in both the repo and the working tree. PowerShell on Windows handles LF fine. This commit only changes .gitattributes; the bulk renormalize lands in the next commit (so it can be added to .git-blame-ignore-revs). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mechanical follow-up to the .gitattributes pin in the previous commit. git add --renormalize . converts all CRLF text files in the index to LF; content is byte-identical, only line endings change. Touches 210 files. Added to .git-blame-ignore-revs in the next commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
git blame and the GitHub web UI both honor .git-blame-ignore-revs at
the repo root. The previous commit was pure line-ending churn (no
content change), so blaming through it is noise — this entry redirects
blame to the actual content author.
Local clones need a one-time:
git config blame.ignoreRevsFile .git-blame-ignore-revs
GitHub picks it up automatically.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13d213b to
601876d
Compare
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.
Summary
The previous `.gitattributes` rule (`* -crlf`) only disabled CRLF conversion at checkout — files kept whatever endings they had on commit, leaving the index mixed. With Windows clones using `core.autocrlf=true` and tooling that writes LF (most editors and AI agents), this surfaces as `LF will be replaced by CRLF the next time Git touches it` warnings on every commit.
This PR pins everything to LF in both the repo and the working tree, then renormalizes the existing mixed content.
Commit structure
This is the largest of the renormalize PRs in the `tablackburn/*` sweep — 210 files. Every CRLF text file in the repo gets converted. Branches based on pre-renormalize `main` will hit merge conflicts on every CRLF-in-HEAD file.
There are currently five local-only feature branches (`bugfix/ci-lint-cache-conditional-install`, `ci/integration-test-timeouts`, `feature/transient-dns-no-data-retry`, `feature/update-server-token`, `fix/disable-scriptanalyzer-macos`) that will need rebasing onto post-merge `main`:
```
git fetch origin
git checkout your-branch
git rebase origin/main
```
If conflicts only differ in line endings, `git checkout --theirs ` (then re-stage) is the fastest resolution. Git's renormalize-aware merge handles most of it automatically when both sides have the new attributes.
Local-clone setup
Once merged, configure git to honor the blame-ignore file:
```
git config blame.ignoreRevsFile .git-blame-ignore-revs
```
GitHub's web blame view uses it automatically.
Context
Part of a sweep across `tablackburn/*` non-fork repos.
🤖 Generated with Claude Code