diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-07-06 11:54:48 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-07-06 11:54:48 -0700 |
commit | b3d1c85d4833aef546f11e4d37516a1ececaefc3 (patch) | |
tree | b5e799c3279f98f5172ce18cfd0e9b317e9822dd /upload-pack.c | |
parent | 1d76e69212102c3373b552186590b76d6ad8d84c (diff) | |
parent | 6e8e7981eb86e2c19401825dbdb55d5860d11313 (diff) | |
download | git-b3d1c85d4833aef546f11e4d37516a1ececaefc3.tar.gz |
Merge branch 'gc/config-context'
Reduce reliance on a global state in the config reading API.
* gc/config-context:
config: pass source to config_parser_event_fn_t
config: add kvi.path, use it to evaluate includes
config.c: remove config_reader from configsets
config: pass kvi to die_bad_number()
trace2: plumb config kvi
config.c: pass ctx with CLI config
config: pass ctx with config files
config.c: pass ctx in configsets
config: add ctx arg to config_fn_t
urlmatch.h: use config_fn_t type
config: inline git_color_default_config
Diffstat (limited to 'upload-pack.c')
-rw-r--r-- | upload-pack.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/upload-pack.c b/upload-pack.c index 318b650b1e..946074920a 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -1275,7 +1275,8 @@ static int find_symref(const char *refname, } static int parse_object_filter_config(const char *var, const char *value, - struct upload_pack_data *data) + const struct key_value_info *kvi, + struct upload_pack_data *data) { struct strbuf buf = STRBUF_INIT; const char *sub, *key; @@ -1302,14 +1303,17 @@ static int parse_object_filter_config(const char *var, const char *value, } string_list_insert(&data->allowed_filters, buf.buf)->util = (void *)(intptr_t)1; - data->tree_filter_max_depth = git_config_ulong(var, value); + data->tree_filter_max_depth = git_config_ulong(var, value, + kvi); } strbuf_release(&buf); return 0; } -static int upload_pack_config(const char *var, const char *value, void *cb_data) +static int upload_pack_config(const char *var, const char *value, + const struct config_context *ctx, + void *cb_data) { struct upload_pack_data *data = cb_data; @@ -1329,7 +1333,7 @@ static int upload_pack_config(const char *var, const char *value, void *cb_data) else data->allow_uor &= ~ALLOW_ANY_SHA1; } else if (!strcmp("uploadpack.keepalive", var)) { - data->keepalive = git_config_int(var, value); + data->keepalive = git_config_int(var, value, ctx->kvi); if (!data->keepalive) data->keepalive = -1; } else if (!strcmp("uploadpack.allowfilter", var)) { @@ -1344,13 +1348,15 @@ static int upload_pack_config(const char *var, const char *value, void *cb_data) data->advertise_sid = git_config_bool(var, value); } - if (parse_object_filter_config(var, value, data) < 0) + if (parse_object_filter_config(var, value, ctx->kvi, data) < 0) return -1; return parse_hide_refs_config(var, value, "uploadpack", &data->hidden_refs); } -static int upload_pack_protected_config(const char *var, const char *value, void *cb_data) +static int upload_pack_protected_config(const char *var, const char *value, + const struct config_context *ctx UNUSED, + void *cb_data) { struct upload_pack_data *data = cb_data; |