aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-10-25 16:06:58 -0700
committerJunio C Hamano <gitster@pobox.com>2021-10-25 16:06:58 -0700
commit6a1bb089fda35768b7649a91bf890e619c32e8e8 (patch)
tree41f90efa6de206980f59b1256ac2df21fcfbff00
parentef1639145de771d33fe5b919f13debaaeaca35f7 (diff)
parent571f4348dd845fd4eccc6b19d93a7b422ed1a466 (diff)
downloadgit-6a1bb089fda35768b7649a91bf890e619c32e8e8.tar.gz
Merge branch 'da/mergetools-special-case-xxdiff-exit-128'
The xxdiff difftool backend can exit with status 128, which the difftool-helper that launches the backend takes as a significant failure, when it is not significant at all. Work it around. * da/mergetools-special-case-xxdiff-exit-128: mergetools/xxdiff: prevent segfaults from stopping difftool
-rw-r--r--mergetools/xxdiff7
1 files changed, 7 insertions, 0 deletions
diff --git a/mergetools/xxdiff b/mergetools/xxdiff
index ce5b8e9f29..d5ce467995 100644
--- a/mergetools/xxdiff
+++ b/mergetools/xxdiff
@@ -3,6 +3,13 @@ diff_cmd () {
-R 'Accel.Search: "Ctrl+F"' \
-R 'Accel.SearchForward: "Ctrl+G"' \
"$LOCAL" "$REMOTE"
+
+ # xxdiff can segfault on binary files which are often uninteresting.
+ # Do not allow segfaults to stop us from continuing on to the next file.
+ if test $? = 128
+ then
+ return 1
+ fi
}
merge_cmd () {