diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-11-21 16:57:43 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-11-21 16:57:43 +0300 |
commit | 604f71983833bf35275b2a11167ff3e840764133 (patch) | |
tree | e50752295a61bb2bb2dd3f3020fa17494ce6aae8 /t | |
parent | 07c5a1bce304a7f6ff11edae9c819798a85caeec (diff) | |
parent | 6c003d6ffb7ebd1599e73921cab5e01d7428001d (diff) |
Merge branch 'jk/reopen-tempfile-truncate' into maint
Fix for a long-standing bug that leaves the index file corrupt when
it shrinks during a partial commit.
* jk/reopen-tempfile-truncate:
reopen_tempfile(): truncate opened file
Diffstat (limited to 't')
-rwxr-xr-x | t/t0090-cache-tree.sh | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh index 7de40141ca..94fcb4a78e 100755 --- a/t/t0090-cache-tree.sh +++ b/t/t0090-cache-tree.sh @@ -161,6 +161,24 @@ test_expect_success PERL 'commit --interactive gives cache-tree on partial commi test_cache_tree ' +test_expect_success PERL 'commit -p with shrinking cache-tree' ' + mkdir -p deep/subdir && + echo content >deep/subdir/file && + git add deep && + git commit -m add && + git rm -r deep && + + before=$(wc -c <.git/index) && + git commit -m delete -p && + after=$(wc -c <.git/index) && + + # double check that the index shrank + test $before -gt $after && + + # and that our index was not corrupted + git fsck +' + test_expect_success 'commit in child dir has cache-tree' ' mkdir dir && >dir/child.t && |