diff options
author | Patrick Steinhardt <ps@pks.im> | 2015-08-10 17:48:25 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-10 20:02:11 +0200 |
commit | adef9561f0c8cf2c974d78adac0ae236e159e49f (patch) | |
tree | c915c91d374b3951d7ac138f56138aa9c34c7ba6 /builtin/clone.c | |
parent | clone: do not use port number as dir name (diff) | |
download | git-adef9561f0c8cf2c974d78adac0ae236e159e49f.tar.xz git-adef9561f0c8cf2c974d78adac0ae236e159e49f.zip |
clone: abort if no dir name could be guessed
Due to various components of the URI being stripped off it may
happen that we fail to guess a directory name. We currently error
out with a message that it is impossible to create the working
tree '' in such cases. Instead, error out early with a sensible
error message hinting that a directory name should be specified
manually on the command line.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '')
-rw-r--r-- | builtin/clone.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/builtin/clone.c b/builtin/clone.c index c68eae13bf..f60d3271ed 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -215,6 +215,10 @@ static char *guess_dir_name(const char *repo, int is_bundle, int is_bare) len = end - start; strip_suffix_mem(start, &len, is_bundle ? ".bundle" : ".git"); + if (!len || (len == 1 && *start == '/')) + die("No directory name could be guessed.\n" + "Please specify a directory on the command line"); + if (is_bare) dir = xstrfmt("%.*s.git", (int)len, start); else |