summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorLibravatar Thomas Rast <trast@student.ethz.ch>2013-03-27 21:03:42 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-03-27 13:25:16 -0700
commitabe601bba52ee6b0bf89d282aa1c3ef5fd89cbb0 (patch)
tree62540653a4652dcdee2290afcb4664684c5b7030 /cache.h
parentRefactor parts of in_delta_base_cache/cache_or_unpack_entry (diff)
downloadtgif-abe601bba52ee6b0bf89d282aa1c3ef5fd89cbb0.tar.xz
sha1_file: remove recursion in unpack_entry
Similar to the recursion in packed_object_info(), this leads to problems on stack-space-constrained systems in the presence of long delta chains. We proceed in three phases: 1. Dig through the delta chain, saving each delta object's offsets and size on an ad-hoc stack. 2. Unpack the base object at the bottom. 3. Unpack and apply the deltas from the stack. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
0 files changed, 0 insertions, 0 deletions