]> git.ipfire.org Git - thirdparty/git.git/commit
diff: drop useless "status" parameter from diff_result_code()
authorJeff King <peff@peff.net>
Mon, 21 Aug 2023 20:20:46 +0000 (16:20 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Aug 2023 22:33:24 +0000 (15:33 -0700)
commit5cc6b2d70bc55ab75913ee93d9ac96ad875fbb29
tree48f2ec27489f2b98c3b555511e64db47cc168226
parentc0049ca0d7d4afb2d71ac76eba45d693facfc1d3
diff: drop useless "status" parameter from diff_result_code()

Many programs use diff_result_code() to get a user-visible program exit
code from a diff result (e.g., checking opts.found_changes if
--exit-code was requested).

This function also takes a "status" parameter, which seems at first
glance that it could be used to propagate an error encountered when
computing the diff. But it doesn't work that way:

  - negative values are passed through as-is, but are not appropriate as
    program exit codes

  - when --exit-code or --check is in effect, we _ignore_ the passed-in
    status completely. So a failed diff which did not have a chance to
    set opts.found_changes would erroneously report "success, no
    changes" instead of propagating the error.

After recent cleanups, neither of these bugs is possible to trigger, as
every caller just passes in "0". So rather than fixing them, we can
simply drop the useless parameter instead.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 files changed:
builtin/describe.c
builtin/diff-files.c
builtin/diff-index.c
builtin/diff-tree.c
builtin/diff.c
builtin/log.c
builtin/stash.c
builtin/submodule--helper.c
diff-no-index.c
diff.c
diff.h
wt-status.c