mbox series

[RFC,0/1] Expand abbreviated filters

Message ID cover.1545261186.git.steadmon@google.com (mailing list archive)
Headers show
Series Expand abbreviated filters | expand

Message

Josh Steadmon Dec. 19, 2018, 11:21 p.m. UTC
NOTE: this patch is based on top of md/list-objects-filter-by-depth

Currently, git clients pass filter specs verbatim over the network and
to subprocesses. We support various numeric abbreviations for parameters
on these limits (via git_parse_ulong()), but other implementations may
not support the same abbreviations (or may support them differently;
e.g., should "1k" == 1000 or 1024?). It would be better to only pass
fully-expanded numbers in this case, and keep the expansion logic
completely on the client side.

This patch updates the protocol-v2 doc to specify that clients MUST
expand abbreviations in filter specifications before passing them to
other processes. It adds a new function
"expand_list_objects_filter_spec()" in list-objects-filter-options.c
that implements the expansion logic, and updates users of the
filter_spec field to instead expand the spec first.

Josh Steadmon (1):
  filter-options: Expand abbreviated numbers

 Documentation/technical/protocol-v2.txt |  5 ++++-
 builtin/clone.c                         |  6 +++++-
 builtin/fetch.c                         |  7 ++++++-
 fetch-pack.c                            | 15 ++++++++++++---
 list-objects-filter-options.c           | 20 ++++++++++++++++++--
 list-objects-filter-options.h           | 17 +++++++++++++++--
 t/t6112-rev-list-filters-objects.sh     | 17 +++++++++++++++++
 transport-helper.c                      | 13 +++++++++----
 upload-pack.c                           |  7 +++++--
 9 files changed, 91 insertions(+), 16 deletions(-)