From 93ba78d6f4632ef1c5228965e3edc8c0faf88c1e Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 26 May 2020 00:06:52 +0100 Subject: revert(3p/git): Revert merge of git upstream at v2.26.2 This causes cgit to serve error pages, which is undesirable. This reverts commit 5229c9b232de5bfa959ad6ebbb4c8192ac513352, reversing changes made to f2b211131f2347342dde63975b09cf603149f1a3. --- third_party/git/list-objects-filter-options.h | 62 ++++++--------------------- 1 file changed, 14 insertions(+), 48 deletions(-) (limited to 'third_party/git/list-objects-filter-options.h') diff --git a/third_party/git/list-objects-filter-options.h b/third_party/git/list-objects-filter-options.h index 2ffb39222c49..c54f0000fbad 100644 --- a/third_party/git/list-objects-filter-options.h +++ b/third_party/git/list-objects-filter-options.h @@ -2,7 +2,7 @@ #define LIST_OBJECTS_FILTER_OPTIONS_H #include "parse-options.h" -#include "string-list.h" +#include "strbuf.h" /* * The list of defined filters for list-objects. @@ -13,7 +13,6 @@ enum list_objects_filter_choice { LOFC_BLOB_LIMIT, LOFC_TREE_DEPTH, LOFC_SPARSE_OID, - LOFC_COMBINE, LOFC__COUNT /* must be last */ }; @@ -24,10 +23,8 @@ struct list_objects_filter_options { * commands that launch filtering sub-processes, or for communication * over the network, don't use this value; use the result of * expand_list_objects_filter_spec() instead. - * To get the raw filter spec given by the user, use the result of - * list_objects_filter_spec(). */ - struct string_list filter_spec; + char *filter_spec; /* * 'choice' is determined by parsing the filter-spec. This indicates @@ -41,40 +38,19 @@ struct list_objects_filter_options { unsigned int no_filter : 1; /* - * BEGIN choice-specific parsed values from within the filter-spec. Only - * some values will be defined for any given choice. + * Parsed values (fields) from within the filter-spec. These are + * choice-specific; not all values will be defined for any given + * choice. */ - - char *sparse_oid_name; + struct object_id *sparse_oid_value; unsigned long blob_limit_value; unsigned long tree_exclude_depth; - - /* LOFC_COMBINE values */ - - /* This array contains all the subfilters which this filter combines. */ - size_t sub_nr, sub_alloc; - struct list_objects_filter_options *sub; - - /* - * END choice-specific parsed values. - */ }; /* Normalized command line arguments */ #define CL_ARG__FILTER "filter" -void list_objects_filter_die_if_populated( - struct list_objects_filter_options *filter_options); - -/* - * Parses the filter spec string given by arg and either (1) simply places the - * result in filter_options if it is not yet populated or (2) combines it with - * the filter already in filter_options if it is already populated. In the case - * of (2), the filter specs are combined as if specified with 'combine:'. - * - * Dies and prints a user-facing message if an error occurs. - */ -void parse_list_objects_filter( +int parse_list_objects_filter( struct list_objects_filter_options *filter_options, const char *arg); @@ -89,22 +65,13 @@ int opt_parse_list_objects_filter(const struct option *opt, /* * Translates abbreviated numbers in the filter's filter_spec into their * fully-expanded forms (e.g., "limit:blob=1k" becomes "limit:blob=1024"). - * Returns a string owned by the list_objects_filter_options object. * - * This form should be used instead of the raw list_objects_filter_spec() - * value when communicating with a remote process or subprocess. - */ -const char *expand_list_objects_filter_spec( - struct list_objects_filter_options *filter); - -/* - * Returns the filter spec string more or less in the form as the user - * entered it. This form of the filter_spec can be used in user-facing - * messages. Returns a string owned by the list_objects_filter_options - * object. + * This form should be used instead of the raw filter_spec field when + * communicating with a remote process or subprocess. */ -const char *list_objects_filter_spec( - struct list_objects_filter_options *filter); +void expand_list_objects_filter_spec( + const struct list_objects_filter_options *filter, + struct strbuf *expanded_spec); void list_objects_filter_release( struct list_objects_filter_options *filter_options); @@ -118,9 +85,8 @@ static inline void list_objects_filter_set_no_filter( void partial_clone_register( const char *remote, - struct list_objects_filter_options *filter_options); + const struct list_objects_filter_options *filter_options); void partial_clone_get_default_filter_spec( - struct list_objects_filter_options *filter_options, - const char *remote); + struct list_objects_filter_options *filter_options); #endif /* LIST_OBJECTS_FILTER_OPTIONS_H */ -- cgit 1.4.1