Normalise MetadataPage.xaml's line endings, and remove the two stray carriage returns that blocked it - #56
Merged
Merged
Conversation
…carriage returns that blocked it This file was the only XAML in Views/Pages whose blob git stored unnormalised: `git ls-files --eol` reported `i/-text` where its four siblings all reported `i/lf`. The effect was that any edit to it, on any machine with core.autocrlf=true, produced a diff showing all 873 lines as changed, burying the real change in noise. The cause was not that the file predates .gitattributes. It contained two lone CR bytes -- `"\r\r\n` sequences, stray trailing whitespace after a closing attribute quote on the AutomationProperties.Name lines for the album-artist and genre fields. A lone CR makes git classify a blob as binary, and `text=auto` declines to normalise a binary file, so the clean filter had been silently skipping this one all along. `git add --renormalize` on its own is a no-op here; it leaves the blob `i/-text`. Removing those two bytes lets the filter do its job. Both sat between attributes inside a tag, outside any quoted value, so XML never saw them as anything but separator whitespace: the old blob with the two CRs stripped is byte-identical to the new one, `git diff --cached -w` is empty, and the file still parses. The 873-line churn in this commit is the one-time cost of the normalisation. It is here, alone, so that no future change has to pay it. Not user-visible, so no changelog entry -- label this `no-changelog`. Co-Authored-By: Claude Opus 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.
MetadataPage.xamlwas the only XAML inViews/Pageswhose blob git stored unnormalised.git ls-files --eolreportedi/-textwhere its four siblings all reportedi/lf, so any edit to it — on any machine withcore.autocrlf=true— produced a diff showing all 873 lines as changed, burying the real change in noise.The cause was not that the file predates
.gitattributes. It contained two loneCRbytes:"\r\r\nsequences, stray trailing whitespace after a closing attribute quote on theAutomationProperties.Namelines for the album-artist and genre fields. A lone CR makes git classify a blob as binary, andtext=autodeclines to normalise a binary file, so the clean filter had been silently skipping this one all along.git add --renormalizeon its own is a no-op here — it leaves the blobi/-text.Removing those two bytes lets the filter do its job. Both sat between attributes inside a tag, outside any quoted value, so XML never saw them as anything but separator whitespace.
Verification
git diff -wagainstmainis empty — zero content change.git ls-files --eolnow reportsi/lf, matching its four siblings.Offstream.Appbuilds clean.The 873-line churn here is the one-time cost of the normalisation. It is in its own PR, alone, so that no future change has to pay it — the immediate beneficiary is #(the quality-badge PR stacked on this one), whose diff on this file drops from 1768 changed lines to 22.
Not user-visible, hence the
no-changeloglabel.🤖 Generated with Claude Code