diff --git a/cache-tree.c b/cache-tree.c
index 9b73c8669a0946c3bcbf1de777e9acd4cd34bcae..350a79b768e7c032e1b4815f7201c9ce5f88bc8d 100644 (file)
--- a/cache-tree.c
+++ b/cache-tree.c
mode = ntohl(ce->ce_mode);
entlen = pathlen - baselen;
}
- if (!missing_ok && !has_sha1_file(sha1))
+ if (mode != S_IFGITLINK && !missing_ok && !has_sha1_file(sha1))
return error("invalid object %s", sha1_to_hex(sha1));
if (!ce->ce_mode)