Merge branch 'rs/diff-exit-code-with-external-diff'

"git diff --exit-code --ext-diff" learned to take the exit status
of the external diff driver into account when deciding the exit
status of the overall "git diff" invocation when configured to do
so.

* rs/diff-exit-code-with-external-diff:
  diff: let external diffs report that changes are uninteresting
  userdiff: add and use struct external_diff
  t4020: test exit code with external diffs
This commit is contained in:
Junio C Hamano
2024-06-20 15:45:08 -07:00
8 changed files with 168 additions and 19 deletions

View File

@@ -11,9 +11,14 @@ struct userdiff_funcname {
int cflags;
};
struct external_diff {
char *cmd;
unsigned trust_exit_code:1;
};
struct userdiff_driver {
const char *name;
const char *external;
struct external_diff external;
const char *algorithm;
int binary;
struct userdiff_funcname funcname;