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>

Patrick Steinhardt committed Aug 10, 2015 at 17:48 UTC adef9561f0c8cf2c974d78adac0ae236e159e49f
1 file changed +4
builtin/clone.c
+4
@@ -215,6 +215,10 @@ static char *guess_dir_name(const char *repo, int is_bundle, int is_bare)
215 len = end - start;
216 strip_suffix_mem(start, &len, is_bundle ? ".bundle" : ".git");
217
218 + if (!len || (len == 1 && *start == '/'))
219 + die("No directory name could be guessed.\n"
220 + "Please specify a directory on the command line");
221 +
222 if (is_bare)
223 dir = xstrfmt("%.*s.git", (int)len, start);
224 else