diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-06-12 20:48:31 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-12 20:48:31 -0700 |
commit | 4f01d0f92db5cb38aaaab83adb50557beb35fb91 (patch) | |
tree | 37dd4b289f4a1a4923557a942f86495ac24f11ae | |
parent | 44bdc434e830cea881eb908e32d80d5bc0c71d4f (diff) | |
parent | defe13a24a254f19596b8008095829068e742f9c (diff) | |
download | git-4f01d0f92db5cb38aaaab83adb50557beb35fb91.tar.gz |
Merge branch 'ar/clone' into maint
* ar/clone:
Fix clone to setup the origin if its name ends with .git
-rwxr-xr-x | git-clone.sh | 2 | ||||
-rwxr-xr-x | t/t5701-clone-local.sh | 46 |
2 files changed, 47 insertions, 1 deletions
diff --git a/git-clone.sh b/git-clone.sh index fdd354f2da..d45618d9af 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -20,7 +20,7 @@ usage() { get_repo_base() { ( cd "`/bin/pwd`" && - cd "$1" && + cd "$1" || cd "$1.git" && { cd .git pwd diff --git a/t/t5701-clone-local.sh b/t/t5701-clone-local.sh new file mode 100755 index 0000000000..b0933274db --- /dev/null +++ b/t/t5701-clone-local.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +test_description='test local clone' +. ./test-lib.sh + +D=`pwd` + +test_expect_success 'preparing origin repository' ' + : >file && git add . && git commit -m1 && + git clone --bare . a.git && + git clone --bare . x +' + +test_expect_success 'local clone without .git suffix' ' + cd "$D" && + git clone -l -s a b && + cd b && + git fetch +' + +test_expect_success 'local clone with .git suffix' ' + cd "$D" && + git clone -l -s a.git c && + cd c && + git fetch +' + +test_expect_success 'local clone from x' ' + cd "$D" && + git clone -l -s x y && + cd y && + git fetch +' + +test_expect_success 'local clone from x.git that does not exist' ' + cd "$D" && + if git clone -l -s x.git z + then + echo "Oops, should have failed" + false + else + echo happy + fi +' + +test_done |