diff options
author | Jonathan Tan <jonathantanmy@google.com> | 2020-10-07 22:16:58 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-07 22:32:27 +0200 |
commit | ec6a8f9705cb61956f7fac61a4c0e27d9ae4bbd5 (patch) | |
tree | d44b43544755c96ffe3a241e466f69bd763adcfe /builtin/index-pack.c | |
parent | index-pack: drop type_cas mutex (diff) | |
download | git-ec6a8f9705cb61956f7fac61a4c0e27d9ae4bbd5.tar.xz git-ec6a8f9705cb61956f7fac61a4c0e27d9ae4bbd5.zip |
index-pack: make get_base_data() comment clearer
A comment mentions that we may free cached delta bases via
find_unresolved_deltas(), but that function went away in f08cbf60fe
(index-pack: make quantum of work smaller, 2020-09-08). Since we need to
rewrite that comment anyway, make the entire comment clearer.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/index-pack.c')
-rw-r--r-- | builtin/index-pack.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/builtin/index-pack.c b/builtin/index-pack.c index f8f1b48e56..aee33ae6a8 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -888,18 +888,15 @@ static void sha1_object(const void *data, struct object_entry *obj_entry, } /* - * Walk from current node up - * to top parent if necessary to deflate the node. In normal - * situation, its parent node would be already deflated, so it just - * needs to apply delta. + * Ensure that this node has been reconstructed and return its contents. * - * In the worst case scenario, parent node is no longer deflated because - * we're running out of delta_base_cache_limit; we need to re-deflate - * parents, possibly up to the top base. - * - * All deflated objects here are subject to be freed if we exceed - * delta_base_cache_limit, just like in find_unresolved_deltas(), we - * just need to make sure the last node is not freed. + * In the typical and best case, this node would already be reconstructed + * (through the invocation to resolve_delta() in threaded_second_pass()) and it + * would not be pruned. However, if pruning of this node was necessary due to + * reaching delta_base_cache_limit, this function will find the closest + * ancestor with reconstructed data that has not been pruned (or if there is + * none, the ultimate base object), and reconstruct each node in the delta + * chain in order to generate the reconstructed data for this node. */ static void *get_base_data(struct base_data *c) { |