]> git.ipfire.org Git - thirdparty/git.git/commit - diff.c
diff: have submodule_format logic avoid additional diff headers
authorElijah Newren <newren@gmail.com>
Fri, 2 Sep 2022 03:53:28 +0000 (03:53 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 2 Sep 2022 16:22:25 +0000 (09:22 -0700)
commit9b08091cb72bdd1d8b37446bcf0a6d73d319bf10
tree5ecf7dc03d5f3b2c9975c40dc206e3234bc9473f
parentd42b38dfb5edf1a7fddd9542d722f91038407819
diff: have submodule_format logic avoid additional diff headers

Commit 95433eeed9 ("diff: add ability to insert additional headers for
paths", 2022-02-02) introduced the possibility of additional headers,
created in create_filepairs_for_header_only_notifications().  These are
represented by inserting additional pairs in diff_queued_diff which
always have a mode of 0 and a null_oid.  When these were added, one
code path was noted to assume that at least one of the diff_filespecs
in the pair were valid, and that codepath was corrected.

The submodule_format handling is another codepath with the same issue;
it would operate on these additional headers and attempt to display them
as submodule changes.  Prevent that by explicitly checking for "phoney"
filepairs (i.e. filepairs with both modes being 0).

Reported-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
t/t4069-remerge-diff.sh