Re: [PATCH 3/6] find_pack_entry(): document last_found_pack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <mhagger@xxxxxxxxxxxx>

REviewed-by: Nicolas Pitre <nico@xxxxxxxxxxx>


> ---
>  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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]