clone: better handle symlinked files at .git/objects/
[gitweb.git] / builtin / clone.c
index e3231864ca67577db5f123b23071046a0f6cb68b..5956b1c8e6bce0dc43ef0cc39014feb18c69bdcb 100644 (file)
@@ -442,7 +442,7 @@ static void copy_or_link_directory(struct strbuf *src, struct strbuf *dest,
                if (unlink(dest->buf) && errno != ENOENT)
                        die_errno(_("failed to unlink '%s'"), dest->buf);
                if (!option_no_hardlinks) {
-                       if (!link(src->buf, dest->buf))
+                       if (!link(real_path(src->buf), dest->buf))
                                continue;
                        if (option_local > 0)
                                die_errno(_("failed to create link '%s'"), dest->buf);