diff: introduce diff.submodule configuration variable
Introduce a diff.submodule configuration variable corresponding to the '--submodule' command-line option of 'git diff'. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
22bc70fdf9
commit
c47ef57caa
@ -33,6 +33,7 @@ test_create_repo sm1 &&
|
||||
add_file . foo >/dev/null
|
||||
|
||||
head1=$(add_file sm1 foo1 foo2)
|
||||
fullhead1=$(cd sm1; git rev-list --max-count=1 $head1)
|
||||
|
||||
test_expect_success 'added submodule' "
|
||||
git add sm1 &&
|
||||
@ -43,6 +44,33 @@ EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success 'added submodule, set diff.submodule' "
|
||||
git config diff.submodule log &&
|
||||
git add sm1 &&
|
||||
git diff --cached >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 0000000...$head1 (new submodule)
|
||||
EOF
|
||||
git config --unset diff.submodule &&
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success '--submodule=short overrides diff.submodule' "
|
||||
test_config diff.submodule log &&
|
||||
git add sm1 &&
|
||||
git diff --submodule=short --cached >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
diff --git a/sm1 b/sm1
|
||||
new file mode 160000
|
||||
index 0000000..a2c4dab
|
||||
--- /dev/null
|
||||
+++ b/sm1
|
||||
@@ -0,0 +1 @@
|
||||
+Subproject commit $fullhead1
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
commit_file sm1 &&
|
||||
head2=$(add_file sm1 foo3)
|
||||
|
||||
@ -73,7 +101,6 @@ EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
fullhead1=$(cd sm1; git rev-list --max-count=1 $head1)
|
||||
fullhead2=$(cd sm1; git rev-list --max-count=1 $head2)
|
||||
test_expect_success 'modified submodule(forward) --submodule=short' "
|
||||
git diff --submodule=short >actual &&
|
||||
|
Reference in New Issue
Block a user