Repository navigation
Fix more complog-related issues - #310
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Unaligned positional scores can select the wrong project for duplicate assemblies.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Fixes compiler-log indexing regressions affecting VMR repository grouping, source paths, and official builds.
Changes:
- Restores original compiler project paths and repository mappings.
- Normalizes linked-file folders and duplicate assembly selection.
- Adds regression tests and validation-site smoke testing.
File summaries
| File | Description |
|---|---|
SolutionGenerator.SolutionExplorer.cs |
Resolves repository grouping from Roslyn projects. |
SolutionGenerator.cs |
Adds compiler-log path recovery, folder normalization, and scoring. |
ProjectGenerator.cs |
Uses project identity for repository metadata. |
CompilerLogWebAccessTests.cs |
Tests VMR mappings and project-path recovery. |
CompilerLogAssemblyNameTests.cs |
Tests scoring and linked-file normalization. |
azure-pipelines.yml |
Runs smoke tests against the selected deployment host. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 2
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
📝 Extracted from src/SourceBrowser/src/BinLogToSln/Program.cs, so it can be reused.
| var originalRepositoryRoot = GetCompilerLogDocumentRoot( | ||
| repoPathMappings, | ||
| compilerLogFilePath, | ||
| repositoryRoot); | ||
| normalizedServerPathMappings[originalRepositoryRoot] = configuredMapping.Value; |
There was a problem hiding this comment.
A local copilot review (GPT-6 Astra) had one callout that I missed:
The server-path mapping can attach a nested repository’s URL to the outer repository’s root. For a runtime checkout nested under dotnet, source links gain an incorrect
src/runtime/prefix. Both mapping overloads need to preserve the selected server mapping’s relative root rather than reuse the document/grouping root.
Follow up on #306.
Fixes official builds currently failing on main: https://dev.azure.com/dnceng/internal/_build?definitionId=612&_a=summary
Thanks to @danzhu54 we now have validation website, so I'm pretty confident this fix is going to work this time; it's deployed to https://validation.source.dot.net/.