From: Junio C Hamano Date: Tue, 13 Feb 2018 21:39:14 +0000 (-0800) Subject: Merge branch 'nd/shared-index-fix' X-Git-Tag: v2.17.0-rc0~111 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/dd0c256b67d1b128655c42ae126fa3397b1f9ede Merge branch 'nd/shared-index-fix' Code clean-up. * nd/shared-index-fix: read-cache: don't write index twice if we can't write shared index read-cache.c: move tempfile creation/cleanup out of write_shared_index read-cache.c: change type of "temp" in write_shared_index() --- dd0c256b67d1b128655c42ae126fa3397b1f9ede diff --cc t/t1700-split-index.sh index c087b63367,cbcefa6e5f..a66936fe9b --- a/t/t1700-split-index.sh +++ b/t/t1700-split-index.sh @@@ -401,23 -401,23 +401,42 @@@ done <<\EO 0642 -rw-r---w- EOF + test_expect_success POSIXPERM,SANITY 'graceful handling when splitting index is not allowed' ' + test_create_repo ro && + ( + cd ro && + test_commit initial && + git update-index --split-index && + test -f .git/sharedindex.* + ) && + cp ro/.git/index new-index && + test_when_finished "chmod u+w ro/.git" && + chmod u-w ro/.git && + GIT_INDEX_FILE="$(pwd)/new-index" git -C ro update-index --split-index && + chmod u+w ro/.git && + rm ro/.git/sharedindex.* && + GIT_INDEX_FILE=new-index git ls-files >actual && + echo initial.t >expected && + test_cmp expected actual + ' + +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 cache-tree.out || true) && + test_line_count = 0 cache-tree.out +' + test_done