summaryrefslogtreecommitdiff
path: root/git-difftool--helper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'git-difftool--helper.sh')
-rwxr-xr-xgit-difftool--helper.sh22
1 files changed, 19 insertions, 3 deletions
diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh
index 7ef36b9482..7bfb6737df 100755
--- a/git-difftool--helper.sh
+++ b/git-difftool--helper.sh
@@ -44,12 +44,13 @@ launch_merge_tool () {
"$GIT_DIFF_PATH_TOTAL" "$MERGED"
if use_ext_cmd
then
- printf "Launch '%s' [Y/n]: " \
+ printf "Launch '%s' [Y/n]? " \
"$GIT_DIFFTOOL_EXTCMD"
else
- printf "Launch '%s' [Y/n]: " "$merge_tool"
+ printf "Launch '%s' [Y/n]? " "$merge_tool"
fi
- if read ans && test "$ans" = n
+ read ans || return
+ if test "$ans" = n
then
return
fi
@@ -84,6 +85,21 @@ else
while test $# -gt 6
do
launch_merge_tool "$1" "$2" "$5"
+ status=$?
+ if test $status -ge 126
+ then
+ # Command not found (127), not executable (126) or
+ # exited via a signal (>= 128).
+ exit $status
+ fi
+
+ if test "$status" != 0 &&
+ test "$GIT_DIFFTOOL_TRUST_EXIT_CODE" = true
+ then
+ exit $status
+ fi
shift 7
done
fi
+
+exit 0