Merge branch 'jk/fail-null-clone' into maint

* jk/fail-null-clone:
  clone: die when trying to clone missing local path
This commit is contained in:
Junio C Hamano 2011-03-16 16:47:26 -07:00
Родитель 61a6f1faec a902618792
Коммит 8209b7fb9b
2 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -413,7 +413,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
if (path)
repo = xstrdup(make_nonrelative_path(repo_name));
else if (!strchr(repo_name, ':'))
repo = xstrdup(make_absolute_path(repo_name));
die("repository '%s' does not exist", repo_name);
else
repo = repo_name;
is_local = path && !is_bundle;

Просмотреть файл

@ -144,4 +144,17 @@ test_expect_success 'clone empty repository, and then push should not segfault.'
test_must_fail git push)
'
test_expect_success 'cloning non-existent directory fails' '
cd "$D" &&
rm -rf does-not-exist &&
test_must_fail git clone does-not-exist
'
test_expect_success 'cloning non-git directory fails' '
cd "$D" &&
rm -rf not-a-git-repo not-a-git-repo-clone &&
mkdir not-a-git-repo &&
test_must_fail git clone not-a-git-repo not-a-git-repo-clone
'
test_done