diff --git a/builtin/clone.c b/builtin/clone.c index f044a8c27f542c94c0b7f2458de1590e0d02fae2..a35d62293a9c84abb1473a1962c7af1540ed5017 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -355,8 +355,11 @@ static void copy_alternates(struct strbuf *src, struct strbuf *dst, continue; } abs_path = mkpathdup("%s/objects/%s", src_repo, line.buf); - normalize_path_copy(abs_path, abs_path); - add_to_alternates_file(abs_path); + if (!normalize_path_copy(abs_path, abs_path)) + add_to_alternates_file(abs_path); + else + warning("skipping invalid relative alternate: %s/%s", + src_repo, line.buf); free(abs_path); } strbuf_release(&line);