clone: better error when --reference is a linked checkout
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy committed
Sep 28, 2015 at 20:06 UTC
d78db8424ec5c3f3327441cd1a897064af39da91
1 file changed
+6
-1
builtin/clone.c
+6
-1
@@ -294,9 +294,14 @@ static int add_one_reference(struct string_list_item *item, void *cb_data)
294
char *ref_git_git = mkpathdup("%s/.git", ref_git);
295
free(ref_git);
296
ref_git = ref_git_git;
297
- } else if (!is_directory(mkpath("%s/objects", ref_git)))
297
+ } else if (!is_directory(mkpath("%s/objects", ref_git))) {
298
+ struct strbuf sb = STRBUF_INIT;
299
+ if (get_common_dir(&sb, ref_git))
300
+ die(_("reference repository '%s' as a linked checkout is not supported yet."),
301
+ item->string);
302
die(_("reference repository '%s' is not a local repository."),
303
item->string);
304
+ }
305
306
if (!access(mkpath("%s/shallow", ref_git), F_OK))
307
die(_("reference repository '%s' is shallow"), item->string);