Skip to content

Commit 1776a71

Browse files
committed
Merge branch 'sb/show-diff-for-submodule-in-diff-fix'
"git diff --submodule=diff" learned to work better in a project with a submodule that in turn has its own submodules. * sb/show-diff-for-submodule-in-diff-fix: diff: submodule inline diff to initialize env array.
2 parents 263fd04 + 17b254c commit 1776a71

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

submodule.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,7 @@ void show_submodule_inline_diff(FILE *f, const char *path,
576576
if (!(dirty_submodule & DIRTY_SUBMODULE_MODIFIED))
577577
argv_array_push(&cp.args, oid_to_hex(new));
578578

579+
prepare_submodule_repo_env(&cp.env_array);
579580
if (run_command(&cp))
580581
fprintf(f, "(diff failed)\n");
581582

t/t4060-diff-submodule-option-diff-format.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,4 +746,33 @@ test_expect_success 'diff --submodule=diff with .git file' '
746746
test_cmp expected actual
747747
'
748748

749+
test_expect_success 'setup nested submodule' '
750+
git submodule add -f ./sm2 &&
751+
git commit -a -m "add sm2" &&
752+
git -C sm2 submodule add ../sm2 nested &&
753+
git -C sm2 commit -a -m "nested sub"
754+
'
755+
756+
test_expect_success 'move nested submodule HEAD' '
757+
echo "nested content" >sm2/nested/file &&
758+
git -C sm2/nested add file &&
759+
git -C sm2/nested commit --allow-empty -m "new HEAD"
760+
'
761+
762+
test_expect_success 'diff --submodule=diff with moved nested submodule HEAD' '
763+
cat >expected <<-EOF &&
764+
Submodule nested a5a65c9..b55928c:
765+
diff --git a/nested/file b/nested/file
766+
new file mode 100644
767+
index 0000000..ca281f5
768+
--- /dev/null
769+
+++ b/nested/file
770+
@@ -0,0 +1 @@
771+
+nested content
772+
EOF
773+
git -C sm2 diff --submodule=diff >actual 2>err &&
774+
test_must_be_empty err &&
775+
test_cmp expected actual
776+
'
777+
749778
test_done

0 commit comments

Comments
 (0)