aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/fetch.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-02-05 14:26:09 -0800
committerJunio C Hamano <gitster@pobox.com>2019-02-05 14:26:10 -0800
commit073312b4c7a15d484d2ffdc2eb4a406df9cf9c55 (patch)
tree473d2508e4ba7d7e424445d2ddce2a9cf659ea46 /builtin/fetch.c
parentMerge branch 'sb/more-repo-in-api' (diff)
parentfilter-options: expand scaled numbers (diff)
downloadgit-073312b4c7a15d484d2ffdc2eb4a406df9cf9c55.tar.gz
git-073312b4c7a15d484d2ffdc2eb4a406df9cf9c55.zip
Merge branch 'js/filter-options-should-use-plain-int'
Update the protocol message specification to allow only the limited use of scaled quantities. This is ensure potential compatibility issues will not go out of hand. * js/filter-options-should-use-plain-int: filter-options: expand scaled numbers tree:<depth>: skip some trees even when collecting omits list-objects-filter: teach tree:# how to handle >0
Diffstat (limited to 'builtin/fetch.c')
-rw-r--r--builtin/fetch.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index c316c03ba2..61a443031d 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1165,6 +1165,7 @@ static void add_negotiation_tips(struct git_transport_options *smart_options)
static struct transport *prepare_transport(struct remote *remote, int deepen)
{
struct transport *transport;
+
transport = transport_get(remote, NULL);
transport_set_verbosity(transport, verbosity, progress);
transport->family = family;
@@ -1184,9 +1185,13 @@ static struct transport *prepare_transport(struct remote *remote, int deepen)
if (update_shallow)
set_option(transport, TRANS_OPT_UPDATE_SHALLOW, "yes");
if (filter_options.choice) {
+ struct strbuf expanded_filter_spec = STRBUF_INIT;
+ expand_list_objects_filter_spec(&filter_options,
+ &expanded_filter_spec);
set_option(transport, TRANS_OPT_LIST_OBJECTS_FILTER,
- filter_options.filter_spec);
+ expanded_filter_spec.buf);
set_option(transport, TRANS_OPT_FROM_PROMISOR, "1");
+ strbuf_release(&expanded_filter_spec);
}
if (negotiation_tip.nr) {
if (transport->smart_options)