git/Documentation
Patrick Steinhardt eb84c8b6ce 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>
2024-02-20 09:30:32 -08:00
..
RelNotes Git 2.43.2 2024-02-13 14:44:51 -08:00
config Merge branch 'ms/rebase-insnformat-doc-fix' into maint-2.43 2024-02-08 16:22:12 -08:00
howto Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43 2024-02-08 16:22:01 -08:00
includes docs: add and use include template for config/* includes 2022-09-07 09:46:05 -07:00
mergetools documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
technical documentation: add missing quotes 2023-10-09 12:06:47 -07:00
.gitattributes
.gitignore doc: remove manpage-base-url workaround 2023-04-05 14:18:53 -07:00
CodingGuidelines Merge branch 'js/contributor-docs-updates' into maint-2.43 2024-02-08 16:22:11 -08:00
Makefile Merge branch 'fc/doc-stop-using-manversion' 2023-04-21 15:35:04 -07:00
MyFirstContribution.txt Merge branch 'jc/majordomo-to-subspace' into maint-2.43 2024-02-13 14:44:50 -08:00
MyFirstObjectWalk.txt Merge branch 'vd/adjust-mfow-doc-to-updated-headers' 2023-07-17 11:30:42 -07:00
ReviewingGuidelines.txt documentation: remove unnecessary hyphens 2023-10-09 12:06:29 -07:00
SubmittingPatches SubmittingPatches: hyphenate non-ASCII 2023-12-27 21:33:24 -08:00
ToolsForGit.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
asciidoc.conf doc: asciidoc: remove custom header macro 2023-04-05 21:37:45 -07:00
asciidoctor-extensions.rb
blame-options.txt blame: use different author name for fake commit generated by --contents 2023-04-24 15:16:31 -07:00
build-docdep.perl Documentation/build-docdep.perl: generate sorted output 2022-10-21 11:39:38 -07:00
cat-texi.perl
cmd-list.perl cmd-list.perl: fix identifying man sections 2022-09-23 10:01:07 -07:00
config.txt Merge branch 'jc/attr-tree-config' 2023-10-30 07:09:55 +09:00
date-formats.txt
diff-format.txt diff-format.txt: correct misleading wording 2022-06-13 11:57:03 -07:00
diff-generate-patch.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
diff-options.txt Merge branch 'so/diff-doc-for-patch-update' into maint-2.42 2023-11-02 16:53:17 +09:00
doc-diff doc-diff: drop SOURCE_DATE_EPOCH override 2023-05-05 14:28:03 -07:00
docbook-xsl.css
docbook.xsl
everyday.txto
fetch-options.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
fix-texi.perl
fsck-msgids.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-add.txt git-add.txt: add missing short option -A to synopsis 2023-12-15 13:01:51 -08:00
git-am.txt Merge branch 'jc/am-doc-whitespace-action-fix' into maint-2.42 2023-11-02 16:53:27 +09:00
git-annotate.txt doc txt & -h consistency: make "annotate" consistent 2022-10-13 09:32:57 -07:00
git-apply.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-archimport.txt
git-archive.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-bisect-lk2009.txt git-bisect-lk2009: update nist report link 2023-01-13 11:58:51 -08:00
git-bisect.txt Merge branch 'jc/bisect-doc' into maint-2.43 2024-02-13 14:44:51 -08:00
git-blame.txt documentation: fix whitespace issues 2023-10-09 12:06:29 -07:00
git-branch.txt doc: fix some typos, grammar and wording issues 2023-10-05 12:55:38 -07:00
git-bugreport.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-bundle.txt Merge branch 'jk/bundle-use-dash-for-stdfiles' 2023-03-19 15:03:12 -07:00
git-cat-file.txt doc/cat-file: make synopsis and description less confusing 2023-10-09 12:46:33 -07:00
git-check-attr.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-check-ignore.txt documentation: fix whitespace issues 2023-10-09 12:06:29 -07:00
git-check-mailmap.txt
git-check-ref-format.txt documentation: add missing fullstops 2023-10-09 12:06:47 -07:00
git-checkout-index.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-checkout.txt orphan/unborn: add to the glossary and use them consistently 2023-11-24 12:11:23 +09:00
git-cherry-pick.txt git-cherry-pick.txt: do not use 'ORIG_HEAD' in example 2023-01-13 09:55:45 -08:00
git-cherry.txt
git-citool.txt
git-clean.txt Merge branch 'ch/clean-docfix' into maint-2.42 2023-11-02 16:53:25 +09:00
git-clone.txt clone: error specifically with --local and symlinked objects 2023-04-11 08:46:09 -07:00
git-column.txt docs: add CONFIGURATION sections that fuzzy map to built-ins 2022-09-07 09:46:07 -07:00
git-commit-graph.txt Merge branch 'ab/doc-synopsis-and-cmd-usage' 2022-10-28 11:26:54 -07:00
git-commit-tree.txt
git-commit.txt doc: correct the 50 characters soft limit 2023-09-28 10:49:23 -07:00
git-config.txt git-config: fix misworded --type=path explanation 2023-09-15 14:09:37 -07:00
git-count-objects.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-credential-cache--daemon.txt doc txt & -h consistency: fix mismatching labels 2022-10-13 09:32:56 -07:00
git-credential-cache.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-credential-store.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-credential.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-cvsexportcommit.txt
git-cvsimport.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
git-cvsserver.txt docs: typofixes 2023-06-12 13:52:51 -07:00
git-daemon.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-describe.txt docs: typofixes 2023-06-12 13:52:51 -07:00
git-diagnose.txt builtin/diagnose.c: add '--mode' option 2022-08-12 13:20:02 -07:00
git-diff-files.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-diff-index.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-diff-tree.txt documentation: add missing fullstops 2023-10-09 12:06:47 -07:00
git-diff.txt docs: AUTO_MERGE is not that special 2023-12-15 14:08:28 -08:00
git-difftool.txt git-difftool--helper: honor `--trust-exit-code` with `--dir-diff` 2024-02-20 09:30:32 -08:00
git-fast-export.txt doc SYNOPSIS: consistently use ' for commands 2022-10-13 09:32:54 -07:00
git-fast-import.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-fetch-pack.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-fetch.txt fetch: introduce machine-parseable "porcelain" output format 2023-05-10 10:35:25 -07:00
git-filter-branch.txt
git-fmt-merge-msg.txt
git-for-each-ref.txt ref-filter: add mailmap support 2023-09-25 14:52:34 -07:00
git-for-each-repo.txt
git-format-patch.txt Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43 2024-02-08 16:22:01 -08:00
git-fsck-objects.txt
git-fsck.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-fsmonitor--daemon.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-gc.txt builtin/repack.c: implement support for `--max-cruft-size` 2023-10-05 13:26:11 -07:00
git-get-tar-commit-id.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
git-grep.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
git-gui.txt
git-hash-object.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-help.txt documentation: add missing fullstops 2023-10-09 12:06:47 -07:00
git-hook.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-http-backend.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-http-fetch.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-http-push.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-imap-send.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
git-index-pack.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-init-db.txt
git-init.txt documentation: fix punctuation 2023-10-09 12:06:29 -07:00
git-instaweb.txt
git-interpret-trailers.txt trailer doc: <token> is a <key> or <keyAlias>, not both 2023-09-07 23:04:44 -07:00
git-log.txt diff-merges: introduce '--dd' option 2023-10-09 12:47:29 -07:00
git-ls-files.txt documentation: fix punctuation 2023-10-09 12:06:29 -07:00
git-ls-remote.txt ls-remote doc: document the output format 2023-05-19 08:19:34 -07:00
git-ls-tree.txt Merge branch 'rs/doc-ls-tree-hex-literal' 2023-06-22 16:29:07 -07:00
git-mailinfo.txt docs: add CONFIGURATION sections that map to a built-in 2022-09-07 09:46:06 -07:00
git-mailsplit.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-maintenance.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-merge-base.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-merge-file.txt merge-file: add an option to process object IDs 2023-11-02 08:51:40 +09:00
git-merge-index.txt
git-merge-one-file.txt
git-merge-tree.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-merge.txt Merge branch 'ml/doc-merge-updates' into maint-2.43 2024-02-08 16:22:10 -08:00
git-mergetool--lib.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-mergetool.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-mktag.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-mktree.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-multi-pack-index.txt midx.c: prevent `expire` from removing the cruft pack 2022-09-21 10:21:46 -07:00
git-mv.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-name-rev.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-notes.txt notes doc: tidy up `--no-stripspace` paragraph 2023-08-16 11:37:25 -07:00
git-p4.txt
git-pack-objects.txt pack-objects: allow `--filter` without `--stdout` 2023-10-02 14:54:29 -07:00
git-pack-redundant.txt pack-redundant: document deprecation 2023-03-30 07:50:43 -07:00
git-pack-refs.txt pack-refs: teach pack-refs --include option 2023-05-12 14:54:14 -07:00
git-patch-id.txt builtin: patch-id: add --verbatim as a command mode 2022-10-24 15:44:20 -07:00
git-prune-packed.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-prune.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-pull.txt
git-push.txt Merge branch 'ms/doc-push-fix' into maint-2.42 2023-11-02 16:53:28 +09:00
git-quiltimport.txt documentation: add missing quotes 2023-10-09 12:06:47 -07:00
git-range-diff.txt Merge branch 'sn/typo-grammo-phraso-fixes' 2023-10-30 07:09:55 +09:00
git-read-tree.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-rebase.txt Merge branch 'nb/rebase-x-shell-docfix' into maint-2.43 2024-02-13 14:44:49 -08:00
git-receive-pack.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-reflog.txt reflog doc: list real subcommands up-front 2022-10-13 09:32:58 -07:00
git-remote-ext.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-remote-fd.txt documentation: add missing parenthesis 2023-10-09 12:06:47 -07:00
git-remote-helpers.txto
git-remote.txt
git-repack.txt Merge branch 'ps/git-repack-doc-fixes' 2023-10-30 07:09:57 +09:00
git-replace.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-request-pull.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-rerere.txt doc txt & -h consistency: make "rerere" consistent 2022-10-13 09:32:56 -07:00
git-reset.txt git-reset.txt: mention 'ORIG_HEAD' in the Description 2023-01-13 09:55:45 -08:00
git-restore.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-rev-list.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
git-rev-parse.txt documentation: use clearer prepositions 2023-10-09 12:06:29 -07:00
git-revert.txt git-revert.txt: add discussion 2023-09-02 15:21:44 -07:00
git-rm.txt documentation: fix apostrophe usage 2023-10-09 12:06:29 -07:00
git-send-email.txt Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43 2024-02-08 16:22:01 -08:00
git-send-pack.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-sh-i18n--envsubst.txt
git-sh-i18n.txt
git-sh-setup.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-shell.txt
git-shortlog.txt shortlog: support arbitrary commit format `--group`s 2022-10-24 14:48:05 -07:00
git-show-branch.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-show-index.txt
git-show-ref.txt builtin/show-ref: add new mode to check for reference existence 2023-11-01 12:09:01 +09:00
git-show.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
git-sparse-checkout.txt docs: typofixes 2023-06-12 13:52:51 -07:00
git-stage.txt
git-stash.txt docs: typofixes 2023-06-12 13:52:51 -07:00
git-status.txt Merge branch 'en/docfixes' 2023-10-23 13:56:37 -07:00
git-stripspace.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-submodule.txt doc: highlight that .gitmodules does not support !command 2023-07-25 14:55:07 -07:00
git-svn.txt
git-switch.txt orphan/unborn: add to the glossary and use them consistently 2023-11-24 12:11:23 +09:00
git-symbolic-ref.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
git-tag.txt doc: tag: document `TAG_EDITMSG` 2023-05-16 11:38:14 -07:00
git-tools.txt
git-unpack-file.txt
git-unpack-objects.txt
git-update-index.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-update-ref.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-update-server-info.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-upload-archive.txt doc txt & -h consistency: fix mismatching labels 2022-10-13 09:32:56 -07:00
git-upload-pack.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
git-var.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-verify-commit.txt doc txt & -h consistency: add missing options and labels 2022-10-13 09:32:56 -07:00
git-verify-pack.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-verify-tag.txt doc txt & -h consistency: add missing options and labels 2022-10-13 09:32:56 -07:00
git-version.txt
git-web--browse.txt
git-whatchanged.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-worktree.txt orphan/unborn: add to the glossary and use them consistently 2023-11-24 12:11:23 +09:00
git-write-tree.txt
git.txt Merge branch 'jc/doc-most-refs-are-not-that-special' into maint-2.43 2024-02-08 16:22:08 -08:00
gitattributes.txt doc: fix some typos, grammar and wording issues 2023-10-05 12:55:38 -07:00
gitcli.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
gitcore-tutorial.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
gitcredentials.txt Merge branch 'mh/doc-credential-helpers' 2023-07-18 07:28:52 -07:00
gitcvs-migration.txt
gitdiffcore.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
giteveryday.txt Merge branch 'sn/typo-grammo-phraso-fixes' 2023-10-30 07:09:55 +09:00
gitfaq.txt
gitformat-bundle.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
gitformat-chunk.txt documentation: fix verb tense 2023-10-09 12:06:29 -07:00
gitformat-commit-graph.txt doc: use "commit-graph" hyphenation consistently 2022-10-30 19:58:40 -04:00
gitformat-index.txt docs: document zero bits in index "mode" 2023-02-01 08:49:23 -08:00
gitformat-pack.txt Merge branch 'tb/format-pack-doc-update' 2023-11-08 11:04:00 +09:00
gitformat-signature.txt Merge branch 'gm/signature-format-doc' 2023-03-06 21:51:56 -08:00
gitglossary.txt
githooks.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
gitignore.txt Merge branch 'jc/gitignore-doc-pattern-markup' 2023-07-27 15:26:37 -07:00
gitk.txt doc/gitk: s/sticked/stuck/ 2023-10-05 12:55:38 -07:00
gitmailmap.txt
gitmodules.txt doc: highlight that .gitmodules does not support !command 2023-07-25 14:55:07 -07:00
gitnamespaces.txt
gitprotocol-capabilities.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
gitprotocol-common.txt documentation: remove extraneous words 2023-10-09 12:06:29 -07:00
gitprotocol-http.txt Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43 2024-02-08 16:22:01 -08:00
gitprotocol-pack.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
gitprotocol-v2.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
gitremote-helpers.txt remote-curl: add 'get' capability 2022-08-10 14:07:37 -07:00
gitrepository-layout.txt doc: make the gitfile syntax easier to discover 2023-12-03 10:54:51 +09:00
gitrevisions.txt
gitsubmodules.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
gittutorial-2.txt
gittutorial.txt doc: correct the 50 characters soft limit (+) 2023-10-09 12:07:26 -07:00
gitweb.conf.txt Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43 2024-02-08 16:22:01 -08:00
gitweb.txt Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43 2024-02-08 16:22:01 -08:00
gitworkflows.txt
glossary-content.txt Merge branch 'jc/orphan-unborn' into maint-2.43 2024-02-08 16:22:10 -08:00
howto-index.sh
i18n.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
install-doc-quick.sh
install-webdoc.sh
line-range-format.txt
line-range-options.txt
lint-fsck-msgids.perl Documentation: add lint-fsck-msgids 2022-10-25 15:44:19 -07:00
lint-gitlink.perl
lint-man-end-blurb.perl
lint-man-section-order.perl git docs: add a category for file formats, protocols and interfaces 2022-08-04 14:12:23 -07:00
manpage-bold-literal.xsl
manpage-normal.xsl Merge branch 'fc/doc-man-lift-title-length-limit' 2023-05-10 10:23:29 -07:00
manpage.xsl
merge-options.txt docs: MERGE_AUTOSTASH is not that special 2023-12-15 14:08:28 -08:00
merge-strategies.txt
object-format-disclaimer.txt doc: sha256 is no longer experimental 2023-07-31 09:11:04 -07:00
pretty-formats.txt pretty: add pointer and tag options to %(decorate) 2023-08-21 11:40:10 -07:00
pretty-options.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
pull-fetch-param.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
ref-reachability-filters.txt
rerere-options.txt doc: clarify rerere-autoupdate 2022-08-03 13:57:25 -07:00
rev-list-description.txt
rev-list-options.txt Merge branch 'ne/doc-filter-blob-limit-fix' into maint-2.43 2024-02-13 14:44:49 -08:00
revisions.txt Documentation: document AUTO_MERGE 2023-05-23 17:21:47 +09:00
scalar.txt scalar: add --[no-]src option 2023-08-28 09:16:06 -07:00
sequencer.txt
signoff-option.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
texi.xsl
trace2-target-values.txt
transfer-data-leaks.txt
urls-remotes.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
urls.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
user-manual.conf
user-manual.txt docs: AUTO_MERGE is not that special 2023-12-15 14:08:28 -08:00