Re: [PATCH 3/6] find_pack_entry(): document last_found_pack
From: Nicolas Pitre <nico@fluxnic.net>
Date: 2016-06-15 22:59:58
On Fri, 21 Feb 2014, Michael Haggerty wrote:
Add a comment at the declaration of last_found_pack and where it is used in find_pack_entry(). In the latter, separate the cases (1) to make a place for the new comment and (2) to turn the success case into affirmative logic. Signed-off-by: Michael Haggerty <redacted>
REviewed-by: Nicolas Pitre <nico@fluxnic.net>
quoted hunk ↗ jump to hunk
--- sha1_file.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)diff --git a/sha1_file.c b/sha1_file.c index 6e8c05d..0910939 100644 --- a/sha1_file.c +++ b/sha1_file.c@@ -60,6 +60,12 @@ static struct cached_object empty_tree = { 0 }; +/* + * A pointer to the last packed_git in which an object was found. + * When an object is sought, we look in this packfile first, because + * objects that are looked up at similar times are often in the same + * packfile as one another. + */ static struct packed_git *last_found_pack; static struct cached_object *find_cached_object(const unsigned char *sha1)@@ -2460,11 +2466,13 @@ static int find_pack_entry(const unsigned char *sha1, struct pack_entry *e) return 1; for (p = packed_git; p; p = p->next) { - if (p == last_found_pack || !fill_pack_entry(sha1, e, p)) - continue; + if (p == last_found_pack) + continue; /* we already checked this one */ - last_found_pack = p; - return 1; + if (fill_pack_entry(sha1, e, p)) { + last_found_pack = p; + return 1; + } } return 0; }-- 1.8.5.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html