|
|
|
@ -2126,6 +2126,16 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
@@ -2126,6 +2126,16 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
|
|
|
|
|
int i; |
|
|
|
|
struct delta_base_cache_entry *ent; |
|
|
|
|
|
|
|
|
|
ent = get_delta_base_cache_entry(p, curpos); |
|
|
|
|
if (eq_delta_base_cache_entry(ent, p, curpos)) { |
|
|
|
|
type = ent->type; |
|
|
|
|
data = ent->data; |
|
|
|
|
size = ent->size; |
|
|
|
|
clear_delta_base_cache_entry(ent); |
|
|
|
|
base_from_cache = 1; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (do_check_packed_object_crc && p->index_version > 1) { |
|
|
|
|
struct revindex_entry *revidx = find_pack_revindex(p, obj_offset); |
|
|
|
|
unsigned long len = revidx[1].offset - obj_offset; |
|
|
|
@ -2140,16 +2150,6 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
@@ -2140,16 +2150,6 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ent = get_delta_base_cache_entry(p, curpos); |
|
|
|
|
if (eq_delta_base_cache_entry(ent, p, curpos)) { |
|
|
|
|
type = ent->type; |
|
|
|
|
data = ent->data; |
|
|
|
|
size = ent->size; |
|
|
|
|
clear_delta_base_cache_entry(ent); |
|
|
|
|
base_from_cache = 1; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type = unpack_object_header(p, &w_curs, &curpos, &size); |
|
|
|
|
if (type != OBJ_OFS_DELTA && type != OBJ_REF_DELTA) |
|
|
|
|
break; |
|
|
|
|