From: Jonathan Nieder Date: Fri, 20 Jul 2018 19:54:01 GMT Subject: Re: [PATCH] clone: send ref-prefixes when using protocol v2 Message-ID: <20180720195401.GA83654@aiede.svl.corp.google.com> In-Reply-To: <20180720192749.224284-1-bmwill@google.com> Hi, Brandon Williams wrote: > Signed-off-by: Brandon Williams > --- > 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