Skip to content

Converge the SourceBrowser subtree: normalize EOL/BOM, unify package management, drop dead code - #275

Merged
tannergooding merged 5 commits into
dotnet:mainfrom
tannergooding:tannergooding-sourcebrowser-package-convergence
Jul 21, 2026
Merged

Converge the SourceBrowser subtree: normalize EOL/BOM, unify package management, drop dead code#275
tannergooding merged 5 commits into
dotnet:mainfrom
tannergooding:tannergooding-sourcebrowser-package-convergence

Conversation

@tannergooding

Copy link
Copy Markdown
Member

Reduces the divergence between the vendored src/SourceBrowser/ subtree and the standalone SourceBrowser so future porting/back-porting between them is trivial. No runtime behavior changes for indexing or serving; the subtree still builds and all tests pass (184 HtmlGenerator + 40 SourceIndexServer + 10 BinLogToSln).

The changes are split into focused commits so the large mechanical normalization can be reviewed (or skipped) independently of the real edits.

Normalize line endings and BOMs

Adopts a .gitattributes matching the standalone repo (* text=auto, *.cmd eol=crlf, binary rules for png/ico/dll/snk) and renormalizes every text file to check-in LF / check-out native, no BOM. This is the bulk of the diff and is purely mechanical -- review with whitespace/EOL ignored.


Converge package management

  • Adds a subtree-root Directory.Packages.props so the sibling TestCode/ fixtures fall under central package management, matching the main projects.
  • Moves NuGetVersion into Directory.Build.props instead of hardcoding it per-project.
  • Drops the redundant per-reference MSBuild versions (now supplied centrally) and prunes unused PackageReferences from MEF and GitGlyph.
  • Targets the TestCode test fixtures at net10.0.

Drop dead code

  • Removes the unused Log.WaitForCompletion/OnCompleted plumbing -- the flush-before-exit guarantee still lives in Log.Close() (CompleteAdding + Join), which is unchanged and called at every exit path.
  • Removes the no-op [HandleProcessCorruptedStateExceptions] (ignored on modern .NET) and unused using directives.

Quiet the default indexing run

  • Gates the assembly-load and MSBuild-toolset dumps in HtmlGenerator behind SOURCEBROWSER_ASSEMBLY_DIAGNOSTICS=1 so normal runs stay quiet, keeping the diagnostics available on demand.

Remove dead config

  • Removes GitGlyph/app.config; GitGlyph targets net10.0 and never references it, and its assembly binding redirects are ignored on modern .NET.

tannergooding and others added 5 commits July 20, 2026 11:28
…r subtree

Adopt a .gitattributes matching the standalone SourceBrowser so the vendored subtree stops diverging purely on line endings and byte-order marks, then renormalize every text file to check-in LF (check-out native) with no BOM.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
… subtree

Add a subtree-root Directory.Packages.props so the sibling TestCode fixtures fall under central package management, move NuGetVersion into Directory.Build.props, drop the redundant per-reference MSBuild versions, prune unused package references, and target the test fixtures at net10.0.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Drop the unused Log.WaitForCompletion/OnCompleted plumbing, the no-op [HandleProcessCorruptedStateExceptions] (ignored on modern .NET), and unused using directives.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Only wire up the assembly-load and MSBuild-toolset dumps when SOURCEBROWSER_ASSEMBLY_DIAGNOSTICS=1 so normal indexing runs stay quiet, and reorder the usings and hoist GetTypeForwards to match the standalone layout.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
GitGlyph targets net10.0 and does not reference app.config; its assembly binding redirects are ignored on modern .NET.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@tannergooding
tannergooding marked this pull request as ready for review July 20, 2026 18:33
@tannergooding

Copy link
Copy Markdown
Member Author

This is best reviewed with whitespace ignored. There was a lot of bad line-endings (not matching standard convention of check-in unix style, check-out host format) that were making diffs and ensuring source-indexer and sourcebrowser were in sync complex.

The actual changes, ignoring the whitespace/bom, is small and trivial.

@jeffhandley jeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed commit-by-commit, which made this approachable. Looks nice and clean and this is a good modernization of the codebase.

@tannergooding
tannergooding merged commit 7fc688f into dotnet:main Jul 21, 2026
2 checks passed
@tannergooding
tannergooding deleted the tannergooding-sourcebrowser-package-convergence branch July 21, 2026 18:52
@tannergooding

Copy link
Copy Markdown
Member Author

Thanks. This should make it massively simpler to mirror things between now as well.

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.

2 participants