diff options
-rw-r--r-- | Documentation/git-clone.txt | 2 | ||||
-rw-r--r-- | builtin-clone.c | 4 | ||||
-rwxr-xr-x | t/t5601-clone.sh | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index b14de6c40..87c13ab13 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -76,7 +76,7 @@ then the cloned repository will become corrupt. --reference <repository>:: - If the reference repository is on the local machine + If the reference repository is on the local machine, automatically setup .git/objects/info/alternates to obtain objects from the reference repository. Using an already existing repository as an alternate will diff --git a/builtin-clone.c b/builtin-clone.c index ba286e016..6605e8340 100644 --- a/builtin-clone.c +++ b/builtin-clone.c @@ -551,8 +551,10 @@ int cmd_clone(int argc, const char **argv, const char *prefix) option_no_checkout = 1; } - if (transport) + if (transport) { transport_unlock_pack(transport); + transport_disconnect(transport); + } if (!option_no_checkout) { struct lock_file *lock_file = xcalloc(1, sizeof(struct lock_file)); diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh index 2335d8bc8..214756731 100755 --- a/t/t5601-clone.sh +++ b/t/t5601-clone.sh @@ -149,11 +149,13 @@ test_expect_success 'clone a void' ' ( cd src-0 && git init ) && - git clone src-0 target-6 && + git clone "file://$(pwd)/src-0" target-6 2>err-6 && + ! grep "fatal:" err-6 && ( cd src-0 && test_commit A ) && - git clone src-0 target-7 && + git clone "file://$(pwd)/src-0" target-7 2>err-7 && + ! grep "fatal:" err-7 && # There is no reason to insist they are bit-for-bit # identical, but this test should suffice for now. test_cmp target-6/.git/config target-7/.git/config |