diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-06-08 21:03:04 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-08 21:03:04 -0700 |
commit | 52912cce77a929aecaa4e982757d813b8d36ba1e (patch) | |
tree | acd41957ac52e9a11e5c2f2a3224aa78bd1e99b6 | |
parent | abc403f58452da667b261274a1091af61dfec35c (diff) | |
parent | defe13a24a254f19596b8008095829068e742f9c (diff) | |
download | git-52912cce77a929aecaa4e982757d813b8d36ba1e.tar.gz git-52912cce77a929aecaa4e982757d813b8d36ba1e.tar.xz |
Merge branch 'ar/clone'
* 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 5bfd8d155..3a410624d 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 000000000..b0933274d --- /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 |