> -static void filter_trees_update_omits(
> +static int filter_trees_update_omits(
>       struct object *obj,
>       struct filter_trees_depth_data *filter_data,
>       int include_it)
>  {
>       if (!filter_data->omits)
> -             return;
> +             return 1;
>  
>       if (include_it)
> -             oidset_remove(filter_data->omits, &obj->oid);
> +             return oidset_remove(filter_data->omits, &obj->oid);
>       else
> -             oidset_insert(filter_data->omits, &obj->oid);
> +             return oidset_insert(filter_data->omits, &obj->oid);
>  }

I think this function is getting too magical - if filter_data->omits is
not set, we pretend that we have omitted the tree, because we want the
same behavior when not needing omits and when the tree is omitted. Could
this be done another way?

Reply via email to