[PATCH 5/5] git-difftool--helper.sh: exit upon initialize_merge_tool errors
- From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Nov 13, 2024, 00:52 UTC
- Message-ID
- <be0b86f08901046878f1b1406f811166d56c7c6d.1731459128.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1827.git.1731459128.gitgitgadget@gmail.com>
From: Philippe Blain <levraiphilippeblain@gmail.com>
Since the introduction of 'initialize_merge_tool' in de8dafbada (mergetool: break setup_tool out into separate initialization function, 2021-02-09), any errors from this function are ignored in git-difftool--helper.sh::launch_merge_tool, which is not the case for its call in git-mergetool.sh::merge_file.
Despite the in-code comment, initialize_merge_tool (via its call to setup_tool) does different checks than run_merge_tool, so it makes sense to abort early if it encounters errors. Add exit calls if initialize_merge_tool fails.
Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com> --- git-difftool--helper.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh index dd0c9a5b7f2..d32e47cc09e 100755 --- a/git-difftool--helper.sh +++ b/git-difftool--helper.sh @@ -61,9 +61,7 @@ launch_merge_tool () { export BASE eval $GIT_DIFFTOOL_EXTCMD '"$LOCAL"' '"$REMOTE"' else - initialize_merge_tool "$merge_tool" - # ignore the error from the above --- run_merge_tool - # will diagnose unusable tool by itself + initialize_merge_tool "$merge_tool" || exit 1 run_merge_tool "$merge_tool" fi } @@ -87,9 +85,7 @@ if test -n "$GIT_DIFFTOOL_DIRDIFF" then LOCAL="$1" REMOTE="$2" - initialize_merge_tool "$merge_tool" - # ignore the error from the above --- run_merge_tool - # will diagnose unusable tool by itself + initialize_merge_tool "$merge_tool" || exit 1 run_merge_tool "$merge_tool" false status=$?
-- gitgitgadget