diff options
author | Thomas Rast <trast@student.ethz.ch> | 2013-03-27 21:03:42 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-03-27 13:25:16 -0700 |
commit | abe601bba52ee6b0bf89d282aa1c3ef5fd89cbb0 (patch) | |
tree | 62540653a4652dcdee2290afcb4664684c5b7030 /thread-utils.c | |
parent | Refactor parts of in_delta_base_cache/cache_or_unpack_entry (diff) | |
download | tgif-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 'thread-utils.c')
0 files changed, 0 insertions, 0 deletions