aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-difftool.txt
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-02-20 11:08:25 +0100
committerJunio C Hamano <gitster@pobox.com>2024-02-20 09:30:32 -0800
commiteb84c8b6cef15fcd048711afce46ce40dc5c43f5 (patch)
treea2283100b2bd3846cef27aa44d3e84dde46e2cb2 /Documentation/git-difftool.txt
parentefb050becb6bc703f76382e1f1b6273100e6ace3 (diff)
downloadgit-eb84c8b6cef15fcd048711afce46ce40dc5c43f5.tar.gz
git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`
The `--trust-exit-code` option for git-diff-tool(1) was introduced via 2b52123fcf (difftool: add support for --trust-exit-code, 2014-10-26). When set, it makes us return the exit code of the invoked diff tool when diffing multiple files. This patch didn't change the code path where `--dir-diff` was passed because we already returned the exit code of the diff tool unconditionally in that case. This was changed a month later via c41d3fedd8 (difftool--helper: add explicit exit statement, 2014-11-20), where an explicit `exit 0` was added to the end of git-difftool--helper.sh. While the stated intent of that commit was merely a cleanup, it had the consequence that we now to ignore the exit code of the diff tool when `--dir-diff` was set. This change in behaviour is thus very likely an unintended side effect of this patch. Now there are two ways to fix this: - We can either restore the original behaviour, which unconditionally returned the exit code of the diffing tool when `--dir-diff` is passed. - Or we can make the `--dir-diff` case respect the `--trust-exit-code` flag. The fact that we have been ignoring exit codes for 7 years by now makes me rather lean towards the latter option. Furthermore, respecting the flag in one case but not the other would needlessly make the user interface more complex. Fix the bug so that we also honor `--trust-exit-code` for dir diffs and adjust the documentation accordingly. Reported-by: Jean-Rémy Falleri <jr.falleri@gmail.com> Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-difftool.txt')
-rw-r--r--Documentation/git-difftool.txt1
1 files changed, 0 insertions, 1 deletions
diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt
index 50cb080085..b5a444d576 100644
--- a/Documentation/git-difftool.txt
+++ b/Documentation/git-difftool.txt
@@ -105,7 +105,6 @@ instead. `--no-symlinks` is the default on Windows.
`merge.tool` until a tool is found.
--[no-]trust-exit-code::
- 'git-difftool' invokes a diff tool individually on each file.
Errors reported by the diff tool are ignored by default.
Use `--trust-exit-code` to make 'git-difftool' exit when an
invoked diff tool returns a non-zero exit code.