On Mon, Feb 12, 2018 at 08:08:54AM +0000, Olga Telezhnaya wrote:

> cat-file options are now filled by general logic.

Yay.

One puzzling thing:

> diff --git a/ref-filter.c b/ref-filter.c
> index 8d104b567eb7c..5781416cf9126 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -824,8 +824,12 @@ static void grab_common_values(struct atom_value *val, 
> int deref, struct object
>               else if (!strcmp(name, "objectsize")) {
>                       v->value = sz;
>                       v->s = xstrfmt("%lu", sz);
> -             }
> -             else if (deref)
> +             } else if (!strcmp(name, "objectsize:disk")) {
> +                     if (cat_file_info.is_cat_file) {
> +                             v->value = cat_file_info.disk_size;
> +                             v->s = xstrfmt("%"PRIuMAX, (uintmax_t)v->value);
> +                     }
> +             } else if (deref)

Why do we care about is_cat_file here. Shouldn't:

  git for-each-ref --format='%(objectsize:disk)'

work? I.e., shouldn't the cat_file_info.disk_size variable be held
somewhere in a used_atom struct?

-Peff

Reply via email to