diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-11-11 04:47:44 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-11-11 04:47:44 +0100 |
commit | b31fb630c0fc6869a33ed717163e8a1210460d94 (patch) | |
tree | f5dec9d70d06e8b5095ed20c66cea490ef095795 /git-gui | |
parent | The eighth batch (diff) | |
parent | Merge branch 'ob/strip-comments-on-commit' (diff) | |
download | git-b31fb630c0fc6869a33ed717163e8a1210460d94.tar.xz git-b31fb630c0fc6869a33ed717163e8a1210460d94.zip |
Merge https://github.com/j6t/git-gui
* https://github.com/j6t/git-gui:
git gui: add directly calling merge tool from configuration
git-gui: strip commit messages less aggressively
git-gui: strip comments and consecutive empty lines from commit messages
Diffstat (limited to 'git-gui')
-rw-r--r-- | git-gui/lib/commit.tcl | 11 | ||||
-rw-r--r-- | git-gui/lib/mergetool.tcl | 21 |
2 files changed, 29 insertions, 3 deletions
diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl index 11379f8ad3..208dc2817c 100644 --- a/git-gui/lib/commit.tcl +++ b/git-gui/lib/commit.tcl @@ -207,8 +207,17 @@ You must stage at least 1 file before you can commit. # -- A message is required. # - set msg [string trim [$ui_comm get 1.0 end]] + set msg [$ui_comm get 1.0 end] + # Strip trailing whitespace regsub -all -line {[ \t\r]+$} $msg {} msg + # Strip comment lines + regsub -all {(^|\n)#[^\n]*} $msg {\1} msg + # Strip leading empty lines + regsub {^\n*} $msg {} msg + # Compress consecutive empty lines + regsub -all {\n{3,}} $msg "\n\n" msg + # Strip trailing empty line + regsub {\n\n$} $msg "\n" msg if {$msg eq {}} { error_popup [mc "Please supply a commit message. diff --git a/git-gui/lib/mergetool.tcl b/git-gui/lib/mergetool.tcl index e688b016ef..8b8c16b1d6 100644 --- a/git-gui/lib/mergetool.tcl +++ b/git-gui/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 + } } } |