Prompt for RelativeFilePaths in interactive update #431
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.
Examples manifests to test with are included in the linked issue
Unmatched RelativeFilePaths can be categorized into 2 types with this PR
CASE-I Same binary name, different directory name
a. Single match for
example.exe
in the new archivee.g.
Example-1.2\example.exe
->Example-1.3\example.exe
In this case the autonomous and interactive update logic will auto-detect the new binary from the archive and user does not have to do anything.
b. Multiple matches for
example.exe
in the new archivee.g.
Example-1.2\win64\example.exe
matches withExample-1.3\win64\example.exe
andExample-1.3\win32\example.exe
in the new archive.In this case the autonomous update will fail as it cannot disambiguate which
example.exe
to use as the new RelativeFilePath (although the above example makes it seem obvious which to choose but we need a way to generalize for any case). Interactive update will match for allexample.exe
in the new archive and prompt the user to select oneCASE-II Different binary name under different directories
e.g.
Example-1.2\example-1.2.exe
->Example-1.3\example-1.3.exe
Autonomous update will fail again for same reasons. Interactive update will now scan for all
.exe
(old relativefilepath extension) in the new archive and prompt the user to select one of them as new RelativeFilePath. If there are no.exe
files in the new archive, the interactive update can't move any forward and an appropriate message is printed.Microsoft Reviewers: codeflow:open?pullrequest=#431