summaryrefslogtreecommitdiff
path: root/t/t4041-diff-submodule-option.sh
diff options
context:
space:
mode:
authorHeiko Voigt <hvoigt@hvoigt.net>2012-05-14 16:24:45 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-05-14 18:56:42 (GMT)
commit5e73633dbf8a62190611f6eb438a1a2eaaffa919 (patch)
tree3b4d75ea58902847c8313ef9abdb5c64fea8d09a /t/t4041-diff-submodule-option.sh
parentd0f1ea6003d97e63110fa7d50bb07f546a909b6e (diff)
downloadgit-5e73633dbf8a62190611f6eb438a1a2eaaffa919.zip
git-5e73633dbf8a62190611f6eb438a1a2eaaffa919.tar.gz
git-5e73633dbf8a62190611f6eb438a1a2eaaffa919.tar.bz2
teach add_submodule_odb() to look for alternates
Since we allow to link other object databases when loading a submodules database we should also load possible alternates. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4041-diff-submodule-option.sh')
-rwxr-xr-xt/t4041-diff-submodule-option.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/t/t4041-diff-submodule-option.sh b/t/t4041-diff-submodule-option.sh
index bf9a752..6c01d0c 100755
--- a/t/t4041-diff-submodule-option.sh
+++ b/t/t4041-diff-submodule-option.sh
@@ -458,4 +458,38 @@ EOF
test_cmp expected actual
'
+test_expect_success 'diff --submodule with objects referenced by alternates' '
+ mkdir sub_alt &&
+ (cd sub_alt &&
+ git init &&
+ echo a >a &&
+ git add a &&
+ git commit -m a
+ ) &&
+ mkdir super &&
+ (cd super &&
+ git clone -s ../sub_alt sub &&
+ git init &&
+ git add sub &&
+ git commit -m "sub a"
+ ) &&
+ (cd sub_alt &&
+ sha1_before=$(git rev-parse --short HEAD)
+ echo b >b &&
+ git add b &&
+ git commit -m b
+ sha1_after=$(git rev-parse --short HEAD)
+ echo "Submodule sub $sha1_before..$sha1_after:
+ > b" >../expected
+ ) &&
+ (cd super &&
+ (cd sub &&
+ git fetch &&
+ git checkout origin/master
+ ) &&
+ git diff --submodule > ../actual
+ )
+ test_cmp expected actual
+'
+
test_done