Skip to content

Conversation

goran-w
Copy link
Contributor

@goran-w goran-w commented Apr 10, 2025

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 when HasUnsolvedConflicts 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 to Commands.MergeTool.OpenForMerge() and will cause the argument for the git 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 a RaiseException() message. (New wording: "Selection contains both conflict and non-conflict changes!")

@goran-w goran-w changed the base branch from master to develop April 10, 2025 22:32
@love-linger love-linger self-assigned this Apr 11, 2025
@love-linger love-linger added the enhancement New feature or request label Apr 11, 2025
@love-linger love-linger merged commit 47824dc into sourcegit-scm:develop Apr 11, 2025
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>
@goran-w goran-w deleted the external-mergetool-all-conflicts branch April 25, 2025 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants