summaryrefslogtreecommitdiff
path: root/t/t1700-split-index.sh
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-02-13 13:39:12 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-02-13 13:39:13 -0800
commite75c862125f219c983cd2980d1b33ec09a3c34b9 (patch)
tree716c9f3eec268b391e30360abf39ee7700dd40a4 /t/t1700-split-index.sh
parentMerge branch 'rs/strbuf-cocci-workaround' (diff)
parenttravis: run tests with GIT_TEST_SPLIT_INDEX (diff)
downloadtgif-e75c862125f219c983cd2980d1b33ec09a3c34b9.tar.xz
Merge branch 'tg/split-index-fixes'
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/t1700-split-index.sh')
-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