summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-01-14 15:33:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-01-14 15:33:49 (GMT)
commit32e820bdc5ca66d53605bfdcb0751b21a2372de2 (patch)
tree3c732c0970efd3878892ba8342049ebabf6c0f6a /t
parentbc60f9f37767f72d7ef73a4df536e199a3c13540 (diff)
parent9be1980bb966cb1bc187b62803e6b76087fd5aac (diff)
downloadgit-32e820bdc5ca66d53605bfdcb0751b21a2372de2.zip
git-32e820bdc5ca66d53605bfdcb0751b21a2372de2.tar.gz
git-32e820bdc5ca66d53605bfdcb0751b21a2372de2.tar.bz2
Merge branch 'jl/interrupt-clone-remove-separate-git-dir' into maint
When "git clone --separate-git-dir=$over_there" is interrupted, it failed to remove the real location of the $GIT_DIR it created. This was most visible when interrupting a submodule update. * jl/interrupt-clone-remove-separate-git-dir: clone: support atomic operation with --separate-git-dir
Diffstat (limited to 't')
-rwxr-xr-xt/t5600-clone-fail-cleanup.sh12
1 files changed, 11 insertions, 1 deletions
diff --git a/t/t5600-clone-fail-cleanup.sh b/t/t5600-clone-fail-cleanup.sh
index ee06d28..4435693 100755
--- a/t/t5600-clone-fail-cleanup.sh
+++ b/t/t5600-clone-fail-cleanup.sh
@@ -37,6 +37,16 @@ test_expect_success \
test_expect_success \
'successful clone must leave the directory' \
- 'cd bar'
+ 'test -d bar'
+
+test_expect_success 'failed clone --separate-git-dir should not leave any directories' '
+ mkdir foo/.git/objects.bak/ &&
+ mv foo/.git/objects/* foo/.git/objects.bak/ &&
+ test_must_fail git clone --separate-git-dir gitdir foo worktree &&
+ test_must_fail test -e gitdir &&
+ test_must_fail test -e worktree &&
+ mv foo/.git/objects.bak/* foo/.git/objects/ &&
+ rmdir foo/.git/objects.bak
+'
test_done