diff options
| author | Johannes Sixt <j6t@kdbg.org> | 2024-11-09 14:34:50 +0100 |
|---|---|---|
| committer | Johannes Sixt <j6t@kdbg.org> | 2024-11-09 14:34:50 +0100 |
| commit | 492550155aec3113a4d3d2232c3f259f83737478 (patch) | |
| tree | eff319feb1516e936a87590822b3175c0b5a5730 /lib | |
| parent | Merge branch 'os/catch-rename' (diff) | |
| parent | git gui: add directly calling merge tool from configuration (diff) | |
| download | git-492550155aec3113a4d3d2232c3f259f83737478.tar.gz git-492550155aec3113a4d3d2232c3f259f83737478.zip | |
Merge branch 'tb/mergetool-from-config'
* tb/mergetool-from-config:
git gui: add directly calling merge tool from configuration
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/mergetool.tcl | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/mergetool.tcl b/lib/mergetool.tcl index e688b016ef..8b8c16b1d6 100644 --- a/lib/mergetool.tcl +++ b/lib/mergetool.tcl @@ -272,8 +272,25 @@ proc merge_resolve_tool2 {} { } } default { - error_popup [mc "Unsupported merge tool '%s'" $tool] - return + set tool_cmd [get_config mergetool.$tool.cmd] + if {$tool_cmd ne {}} { + if {([string first {[} $tool_cmd] != -1) || ([string first {]} $tool_cmd] != -1)} { + error_popup [mc "Unable to process square brackets in \"mergetool.%s.cmd\" configuration option. + +Please remove the square brackets." $tool] + return + } else { + set cmdline {} + foreach command_part $tool_cmd { + lappend cmdline [subst -nobackslashes -nocommands $command_part] + } + } + } else { + error_popup [mc "Unsupported merge tool '%s'. + +To use this tool, configure \"mergetool.%s.cmd\" as shown in the git-config manual page." $tool $tool] + return + } } } |
