From 38c10ecd99fb1105d389c346b4475116dbd8788c Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Sat, 16 May 2015 19:00:50 -0400 Subject: [PATCH] indexer: don't look for the index we're creating When creating an index, know that we do not have an index for our own packfile, preventing some unnecessary file opens and error reporting. --- src/pack.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pack.c b/src/pack.c index 5d0a27b91..105d67510 100644 --- a/src/pack.c +++ b/src/pack.c @@ -959,8 +959,15 @@ git_off_t get_delta_base( if (k != kh_end(p->idx_cache)) { *curpos += 20; return ((struct git_pack_entry *)kh_value(p->idx_cache, k))->offset; + } else { + /* If we're building an index, don't try to find the pack + * entry; we just haven't seen it yet. We'll make + * progress again in the next loop. + */ + return GIT_PASSTHROUGH; } } + /* The base entry _must_ be in the same pack */ if (pack_entry_find_offset(&base_offset, &unused, p, (git_oid *)base_info, GIT_OID_HEXSZ) < 0) return packfile_error("base entry delta is not in the same pack");