Handle FF submodule conflicts - #6527
#6527Open
dkurepa wants to merge 1 commit into
dotnet:maindotnet/arcade-services:mainfrom
dkurepa:dkurepa/SubmoduleFFChangedkurepa/arcade-services:dkurepa/SubmoduleFFChangeCopy head branch name to clipboard
Open
Handle FF submodule conflicts#6527dkurepa wants to merge 1 commit intodotnet:maindotnet/arcade-services:mainfrom dkurepa:dkurepa/SubmoduleFFChangedkurepa/arcade-services:dkurepa/SubmoduleFFChangeCopy head branch name to clipboard
dkurepa wants to merge 1 commit into
dotnet:maindotnet/arcade-services:mainfrom
dkurepa:dkurepa/SubmoduleFFChangedkurepa/arcade-services:dkurepa/SubmoduleFFChangeCopy head branch name to clipboard
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates VMR forward-flow conflict handling to detect and surface divergent submodule pointer changes (repo bump vs. independent VMR reset) instead of auto-resolving source-manifest.json and silently discarding one side’s change, per #6444. It also refactors and expands the codeflow test coverage around submodule scenarios.
Changes:
- Add logic in
ForwardFlowConflictResolverto detect divergent submodule changes via merge index stages and leavesource-manifest.jsonconflicted while emitting a user-facing remediation comment. - Move existing backflow submodule tests out of
TwoWayCodeflowTestsinto a dedicatedSubmoduleCodeflowTestsfixture and add new forward-flow test coverage for same-direction and opposite-direction flows. - Minor cleanup in
TwoWayCodeflowTests(removal of the relocated submodule tests).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| test/Darc/Microsoft.DotNet.DarcLib.Codeflow.Tests/TwoWayCodeflowTests.cs | Removes submodule-specific tests that are now hosted in a dedicated fixture. |
| test/Darc/Microsoft.DotNet.DarcLib.Codeflow.Tests/SubmoduleCodeflowTests.cs | Adds a focused test fixture for submodule backflow behavior and new forward-flow divergence scenarios. |
| src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/ForwardFlowConflictResolver.cs | Detects divergent submodule changes during forward flow and surfaces them as unresolved conflicts with a remediation comment. |
Comment on lines
+176
to
+179
| There was a conflict in the submodule flow that needs to be resolved manually. The submodule was | ||
| bumped in the repository while it was independently reset in the VMR, so the correct commit for the | ||
| submodule cannot be determined automatically. Please choose the correct submodule commit and run | ||
| `darc vmr reset-submodule <sha>` to make sure the submodule ends up in the desired state in the VMR. |
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.
#6444