From: Jeff King Date: Fri, 2 Jun 2006 16:49:32 +0000 (-0400) Subject: sha1_file: avoid re-preparing duplicate packs X-Git-Tag: v1.4.0-rc1~18 X-Git-Url: https://git.octo.it/?p=git.git;a=commitdiff_plain;h=86f7780c0b77b3c162f85d499189f9d1f0b296df sha1_file: avoid re-preparing duplicate packs When adding packs, skip the pack if we already have it in the packed_git list. This might happen if we are re-preparing our packs because of a missing object. Signed-off-by: Junio C Hamano --- diff --git a/sha1_file.c b/sha1_file.c index 696e53f1..aea0f40d 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -617,6 +617,12 @@ static void prepare_packed_git_one(char *objdir, int local) /* we have .idx. Is it a file we can map? */ strcpy(path + len, de->d_name); + for (p = packed_git; p; p = p->next) { + if (!memcmp(path, p->pack_name, len + namelen - 4)) + break; + } + if (p) + continue; p = add_packed_git(path, len + namelen, local); if (!p) continue;