Hi,

Brandon Williams wrote:

> Signed-off-by: Brandon Williams <bmw...@google.com>
> ---
> Noticed we miss out on server side filtering of refs when cloning using
> protocol v2, this will enable that.
>
>  builtin/clone.c | 22 +++++++++++++++++-----
>  1 file changed, 17 insertions(+), 5 deletions(-)

Nice!  The implementation looks good.

Can you add a test to ensure this filtering doesn't regress later?

[...]
> +++ b/builtin/clone.c
[...]
> @@ -1134,10 +1135,20 @@ int cmd_clone(int argc, const char **argv, const char 
> *prefix)
>       if (transport->smart_options && !deepen && !filter_options.choice)
>               transport->smart_options->check_self_contained_and_connected = 
> 1;
>  
> -     refs = transport_get_remote_refs(transport, NULL);
> +
> +     argv_array_push(&ref_prefixes, "HEAD");
> +     refspec_ref_prefixes(&rs, &ref_prefixes);
> +     if (option_branch) {
> +             expand_ref_prefix(&ref_prefixes, option_branch);
> +     }
> +     if (!option_no_tags) {
> +             argv_array_push(&ref_prefixes, "refs/tags/");
> +     }

nit: no need for braces around one-line "if" body

Thanks,
Jonathan

Reply via email to