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.maint
commit
1776a710d6
|
@ -576,6 +576,7 @@ void show_submodule_inline_diff(FILE *f, const char *path,
|
||||||
if (!(dirty_submodule & DIRTY_SUBMODULE_MODIFIED))
|
if (!(dirty_submodule & DIRTY_SUBMODULE_MODIFIED))
|
||||||
argv_array_push(&cp.args, oid_to_hex(new));
|
argv_array_push(&cp.args, oid_to_hex(new));
|
||||||
|
|
||||||
|
prepare_submodule_repo_env(&cp.env_array);
|
||||||
if (run_command(&cp))
|
if (run_command(&cp))
|
||||||
fprintf(f, "(diff failed)\n");
|
fprintf(f, "(diff failed)\n");
|
||||||
|
|
||||||
|
|
|
@ -746,4 +746,33 @@ test_expect_success 'diff --submodule=diff with .git file' '
|
||||||
test_cmp expected actual
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'setup nested submodule' '
|
||||||
|
git submodule add -f ./sm2 &&
|
||||||
|
git commit -a -m "add sm2" &&
|
||||||
|
git -C sm2 submodule add ../sm2 nested &&
|
||||||
|
git -C sm2 commit -a -m "nested sub"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'move nested submodule HEAD' '
|
||||||
|
echo "nested content" >sm2/nested/file &&
|
||||||
|
git -C sm2/nested add file &&
|
||||||
|
git -C sm2/nested commit --allow-empty -m "new HEAD"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'diff --submodule=diff with moved nested submodule HEAD' '
|
||||||
|
cat >expected <<-EOF &&
|
||||||
|
Submodule nested a5a65c9..b55928c:
|
||||||
|
diff --git a/nested/file b/nested/file
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ca281f5
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/nested/file
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+nested content
|
||||||
|
EOF
|
||||||
|
git -C sm2 diff --submodule=diff >actual 2>err &&
|
||||||
|
test_must_be_empty err &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in New Issue