@@ -55,8 +55,6 @@ static int shallow_nr;
static struct object_array extra_edge_obj;
static const char *pack_objects_hook;
-static int allow_ref_in_want;
-
static int allow_sideband_all;
struct upload_pack_data {
@@ -100,6 +98,7 @@ struct upload_pack_data {
unsigned filter_capability_requested : 1;
unsigned allow_filter : 1;
+ unsigned allow_ref_in_want : 1;
};
static void upload_pack_data_init(struct upload_pack_data *data)
@@ -1141,7 +1140,7 @@ static int upload_pack_config(const char *var, const char *value, void *cb_data)
} else if (!strcmp("uploadpack.allowfilter", var)) {
data->allow_filter = git_config_bool(var, value);
} else if (!strcmp("uploadpack.allowrefinwant", var)) {
- allow_ref_in_want = git_config_bool(var, value);
+ data->allow_ref_in_want = git_config_bool(var, value);
} else if (!strcmp("uploadpack.allowsidebandall", var)) {
allow_sideband_all = git_config_bool(var, value);
} else if (!strcmp("core.precomposeunicode", var)) {
@@ -1285,7 +1284,7 @@ static void process_args(struct packet_reader *request,
/* process want */
if (parse_want(&data->writer, arg, &data->want_obj))
continue;
- if (allow_ref_in_want &&
+ if (data->allow_ref_in_want &&
parse_want_ref(&data->writer, arg, &data->wanted_refs,
&data->want_obj))
continue;
As we cleanup 'upload-pack.c' by using 'struct upload_pack_data' more thoroughly, let's move the 'allow_ref_in_want' static variable into this struct. It is only used by protocol v0 code since protocol v2 assumes certain baseline capabilities, but rolling it into upload_pack_data and just letting v2 code ignore it as it does now is more coherent and cleaner. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> --- upload-pack.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)