mirror of
https://github.com/git/git.git
synced 2024-10-28 21:07:52 +01:00
find_pack_entry(): document last_found_pack
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 <mhagger@alum.mit.edu> Reviewed-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ce37586475
commit
1b1005d1b5
1 changed files with 12 additions and 4 deletions
16
sha1_file.c
16
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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue