Add button for running external mergetool on ALL conflicts#1173
Merged
love-linger merged 3 commits intosourcegit-scm:developfrom Apr 11, 2025
Merged
Conversation
love-linger
added a commit
that referenced
this pull request
Apr 11, 2025
- rename c-style `file_arg` to `fileArg` - add missing translations for zh_CN and zh_TW - re-design conflict view and add tooltip for `USE THEIRS` and `USE MINE` - re-order unstaged toolbar buttons Signed-off-by: leo <longshuang@msn.cn>
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.
Implements #1168.
Adds a new icon-button (reusing the
Icons.Conflictimage) on the UNSTAGED toolbar (in LOCAL CHANGES view). This new button is visible only whenHasUnsolvedConflictsand 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 mergetoolcommand 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
Conflictview), corrects a couple of misspelled variables and adjusts the wording in aRaiseException()message. (New wording: "Selection contains both conflict and non-conflict changes!")