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.
This commit is contained in:
Edward Thomson 2015-05-16 19:00:50 -04:00
parent ca183d2736
commit 38c10ecd99

View File

@ -959,8 +959,15 @@ git_off_t get_delta_base(
if (k != kh_end(p->idx_cache)) { if (k != kh_end(p->idx_cache)) {
*curpos += 20; *curpos += 20;
return ((struct git_pack_entry *)kh_value(p->idx_cache, k))->offset; 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 */ /* 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) 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"); return packfile_error("base entry delta is not in the same pack");