From adef9561f0c8cf2c974d78adac0ae236e159e49f Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 10 Aug 2015 17:48:25 +0200 Subject: [PATCH] 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 Signed-off-by: Junio C Hamano --- builtin/clone.c | 4 ++++ 1 file changed, 4 insertions(+) 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 -- 2.11.4.GIT