X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=cache-tree.c;h=350a79b768e7c032e1b4815f7201c9ce5f88bc8d;hb=952c8c56380734d45bddf369fe478895672c5a3a;hp=a80326289dbea2c08acce577cf8eef26a0cfba68;hpb=9004dcbe8278b6d66f41e6e401f6d564a64fd1e1;p=git.git diff --git a/cache-tree.c b/cache-tree.c index a80326289..350a79b76 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -282,6 +282,8 @@ static int update_one(struct cache_tree *it, baselen + sublen + 1, missing_ok, dryrun); + if (subcnt < 0) + return subcnt; i += subcnt - 1; sub->used = 1; } @@ -324,7 +326,7 @@ static int update_one(struct cache_tree *it, 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)