зеркало из https://github.com/microsoft/git.git
Fix clone to setup the origin if its name ends with .git
The problem is visible when cloning a local repo. The cloned repository will have the origin url setup incorrectly: the origin name will be copied verbatim in origin url of the cloned repository. Normally, the name is to be expanded into absolute path. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
23fcdc7971
Коммит
defe13a24a
|
@ -20,7 +20,7 @@ usage() {
|
|||
get_repo_base() {
|
||||
(
|
||||
cd "`/bin/pwd`" &&
|
||||
cd "$1" &&
|
||||
cd "$1" || cd "$1.git" &&
|
||||
{
|
||||
cd .git
|
||||
pwd
|
||||
|
|
|
@ -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
|
Загрузка…
Ссылка в новой задаче