We were lacking a test that covered the multi-parent case for commits. Add a basic test to ensure we do not regress this behavior in the future. Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> --- t/t4013-diff-various.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) It's a little bit ugly to me that this test hard-codes so many values, and I'm concerned that it may be unnecessarily brittle. However, I don't have a good idea of how to perform the kind of comprehensive test we need otherwise. diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh index d09acfe48e..e6c2a7a369 100755 --- a/t/t4013-diff-various.sh +++ b/t/t4013-diff-various.sh @@ -349,4 +349,23 @@ test_expect_success 'diff-tree --stdin with log formatting' ' test_cmp expect actual ' +test_expect_success 'diff-tree --stdin with two parent commits' ' + cat >expect <<-\EOF && + c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a + :040000 040000 da7a33fa77d8066d6698643940ce5860fe2d7fb3 f977ed46ae6873c1c30ab878e15a4accedc3618b M dir + :100644 100644 01e79c32a8c99c557f0757da7cb6d65b3414466d f4615da674c09df322d6ba8d6b21ecfb1b1ba510 M file0 + :000000 100644 0000000000000000000000000000000000000000 7289e35bff32727c08dda207511bec138fdb9ea5 A file3 + 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0 + :040000 040000 847b63d013de168b2de618c5ff9720d5ab27e775 65f5c9dd60ce3b2b3324b618ac7accf8d912c113 M dir + :000000 100644 0000000000000000000000000000000000000000 b1e67221afe8461efd244b487afca22d46b95eb8 A file1 + 1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44 + :040000 040000 da7a33fa77d8066d6698643940ce5860fe2d7fb3 847b63d013de168b2de618c5ff9720d5ab27e775 M dir + :100644 100644 01e79c32a8c99c557f0757da7cb6d65b3414466d b414108e81e5091fe0974a1858b4d0d22b107f70 M file0 + :100644 000000 01e79c32a8c99c557f0757da7cb6d65b3414466d 0000000000000000000000000000000000000000 D file2 + EOF + git rev-list --parents master | git diff-tree --stdin >actual && + test_cmp expect actual +' + + test_done