summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-03-22 14:24:10 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-03-22 14:24:10 -0700
commitb0e0fc267bfb270b0ccf48ff17179c9c315dc2a9 (patch)
treeb2fe4a33f8ecaf45c88b837551d8f57b2d1d72ec /t
parentMerge branch 'mr/packed-ref-store-fix' into maint (diff)
parenttravis: run tests with GIT_TEST_SPLIT_INDEX (diff)
downloadtgif-b0e0fc267bfb270b0ccf48ff17179c9c315dc2a9.tar.xz
Merge branch 'tg/split-index-fixes' into maint
The split-index mode had a few corner case bugs fixed. * tg/split-index-fixes: travis: run tests with GIT_TEST_SPLIT_INDEX split-index: don't write cache tree with null oid entries read-cache: fix reading the shared index for other repos
Diffstat (limited to 't')
-rwxr-xr-xt/t1700-split-index.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index af9b847761..c087b63367 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -401,4 +401,23 @@ done <<\EOF
0642 -rw-r---w-
EOF
+test_expect_success 'writing split index with null sha1 does not write cache tree' '
+ git config core.splitIndex true &&
+ git config splitIndex.maxPercentChange 0 &&
+ git commit -m "commit" &&
+ {
+ git ls-tree HEAD &&
+ printf "160000 commit $_z40\\tbroken\\n"
+ } >broken-tree &&
+ echo "add broken entry" >msg &&
+
+ tree=$(git mktree <broken-tree) &&
+ test_tick &&
+ commit=$(git commit-tree $tree -p HEAD <msg) &&
+ git update-ref HEAD "$commit" &&
+ GIT_ALLOW_NULL_SHA1=1 git reset --hard &&
+ (test-dump-cache-tree >cache-tree.out || true) &&
+ test_line_count = 0 cache-tree.out
+'
+
test_done