summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8892048)
raw | patch | inline | side by side (parent: 8892048)
author | Björn Steinbrink <B.Steinbrink@gmx.de> | |
Thu, 24 Jul 2008 17:32:00 +0000 (18:32 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 25 Jul 2008 17:46:46 +0000 (10:46 -0700) |
When index-pack completes a thin pack it appends objects to the pack.
Since the commit 92392b4(index-pack: Honor core.deltaBaseCacheLimit when
resolving deltas) such an object can be pruned in case of memory
pressure, and will be read back again by get_data_from_pack(). For this
to work, the fields in object_entry structure need to be initialized
properly.
Noticed by Pierre Habouzit.
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Acked-by: Nicolas Pitre <nico@cam.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Since the commit 92392b4(index-pack: Honor core.deltaBaseCacheLimit when
resolving deltas) such an object can be pruned in case of memory
pressure, and will be read back again by get_data_from_pack(). For this
to work, the fields in object_entry structure need to be initialized
properly.
Noticed by Pierre Habouzit.
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Acked-by: Nicolas Pitre <nico@cam.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
index-pack.c | patch | blob | history |
diff --git a/index-pack.c b/index-pack.c
index c359f8c9dfda90344277a0c4f0cc8098d6936f3e..7d5344abc065dadd6079cc936edc97b6db443b8d 100644 (file)
--- a/index-pack.c
+++ b/index-pack.c
write_or_die(output_fd, header, n);
obj[0].idx.crc32 = crc32(0, Z_NULL, 0);
obj[0].idx.crc32 = crc32(obj[0].idx.crc32, header, n);
+ obj[0].size = size;
+ obj[0].hdr_size = n;
+ obj[0].type = type;
+ obj[0].real_type = type;
obj[1].idx.offset = obj[0].idx.offset + n;
obj[1].idx.offset += write_compressed(output_fd, buf, size, &obj[0].idx.crc32);
hashcpy(obj->idx.sha1, sha1);