filter-options: expand scaled numbers
When communicating with a remote server or a subprocess, use expanded numbers rather than numbers with scaling suffix in the object filter spec (e.g. "limit:blob=1k" becomes "limit:blob=1024"). Update the protocol docs to note that clients should always perform this expansion, to allow for more compatibility between server implementations. Signed-off-by: Josh Steadmon <steadmon@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
8272f26034
commit
87c2d9d310
@ -140,14 +140,17 @@ static void create_pack_file(const struct object_array *have_obj,
|
||||
if (use_include_tag)
|
||||
argv_array_push(&pack_objects.args, "--include-tag");
|
||||
if (filter_options.filter_spec) {
|
||||
struct strbuf expanded_filter_spec = STRBUF_INIT;
|
||||
expand_list_objects_filter_spec(&filter_options,
|
||||
&expanded_filter_spec);
|
||||
if (pack_objects.use_shell) {
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
sq_quote_buf(&buf, filter_options.filter_spec);
|
||||
sq_quote_buf(&buf, expanded_filter_spec.buf);
|
||||
argv_array_pushf(&pack_objects.args, "--filter=%s", buf.buf);
|
||||
strbuf_release(&buf);
|
||||
} else {
|
||||
argv_array_pushf(&pack_objects.args, "--filter=%s",
|
||||
filter_options.filter_spec);
|
||||
expanded_filter_spec.buf);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user