Add button for running external mergetool on ALL conflicts #1173
+48
−25
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.
Implements #1168.
Adds a new icon-button (reusing the
Icons.Conflict
image) on the UNSTAGED toolbar (in LOCAL CHANGES view). This new button is visible only whenHasUnsolvedConflicts
and has a tooltip text of "OPEN ALL CONFLICTS IN EXTERNAL MERGETOOL".When pressed, this button calls
UseExternalMergeTool()
with a null argument, which is passed on toCommands.MergeTool.OpenForMerge()
and will cause the argument for thegit mergetool
command to be left out. This causes Git to run the specified merge tool on ALL conflicted files in the workspace (one after another), rather than on just a single file. (The sequence will be terminated prematurely if the merge tool exits one of the files without having saved a resolved version.)This PR also makes a few non-translated strings localizable (in
Conflict
view), corrects a couple of misspelled variables and adjusts the wording in aRaiseException()
message. (New wording: "Selection contains both conflict and non-conflict changes!")