Browse Source

serve.[ch]: don't pass "struct strvec *keys" to commands

The serve.c API added in ed10cb952d (serve: introduce git-serve,
2018-03-15) was passing in the raw capabilities "keys", but nothing
downstream of it ever used them.

Let's remove that code because it's not needed. If we do end up
needing to pass information about the advertisement in the future
it'll make more sense to have serve.c parse the capabilities keys and
pass the result of its parsing, rather than expecting expecting its
API users to parse the same keys again.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pull/1094/head
Ævar Arnfjörð Bjarmason 1 year ago committed by Junio C Hamano
parent
commit
28a592e4f4
  1. 3
      ls-refs.c
  2. 4
      ls-refs.h
  3. 3
      protocol-caps.c
  4. 4
      protocol-caps.h
  5. 9
      serve.c
  6. 3
      upload-pack.c
  7. 4
      upload-pack.h

3
ls-refs.c

@ -138,8 +138,7 @@ static int ls_refs_config(const char *var, const char *value, void *data)
return parse_hide_refs_config(var, value, "uploadpack");
}
int ls_refs(struct repository *r, struct strvec *keys,
struct packet_reader *request)
int ls_refs(struct repository *r, struct packet_reader *request)
{
struct ls_refs_data data;

4
ls-refs.h

@ -2,10 +2,8 @@
#define LS_REFS_H
struct repository;
struct strvec;
struct packet_reader;
int ls_refs(struct repository *r, struct strvec *keys,
struct packet_reader *request);
int ls_refs(struct repository *r, struct packet_reader *request);
int ls_refs_advertise(struct repository *r, struct strbuf *value);
#endif /* LS_REFS_H */

3
protocol-caps.c

@ -74,8 +74,7 @@ static void send_info(struct repository *r, struct packet_writer *writer,
}
}
int cap_object_info(struct repository *r, struct strvec *keys,
struct packet_reader *request)
int cap_object_info(struct repository *r, struct packet_reader *request)
{
struct requested_info info;
struct packet_writer writer;

4
protocol-caps.h

@ -2,9 +2,7 @@
#define PROTOCOL_CAPS_H
struct repository;
struct strvec;
struct packet_reader;
int cap_object_info(struct repository *r, struct strvec *keys,
struct packet_reader *request);
int cap_object_info(struct repository *r, struct packet_reader *request);
#endif /* PROTOCOL_CAPS_H */

9
serve.c

@ -60,16 +60,13 @@ struct protocol_capability {
/*
* Function called when a client requests the capability as a command.
* The function will be provided the capabilities requested via 'keys'
* as well as a struct packet_reader 'request' which the command should
* Will be provided a struct packet_reader 'request' which it should
* use to read the command specific part of the request. Every command
* MUST read until a flush packet is seen before sending a response.
*
* This field should be NULL for capabilities which are not commands.
*/
int (*command)(struct repository *r,
struct strvec *keys,
struct packet_reader *request);
int (*command)(struct repository *r, struct packet_reader *request);
};
static struct protocol_capability capabilities[] = {
@ -294,7 +291,7 @@ static int process_request(void)
if (has_capability(&keys, "session-id", &client_sid))
trace2_data_string("transfer", NULL, "client-sid", client_sid);
command->command(the_repository, &keys, &reader);
command->command(the_repository, &reader);
strvec_clear(&keys);
return 0;

3
upload-pack.c

@ -1655,8 +1655,7 @@ enum fetch_state {
FETCH_DONE,
};
int upload_pack_v2(struct repository *r, struct strvec *keys,
struct packet_reader *request)
int upload_pack_v2(struct repository *r, struct packet_reader *request)
{
enum fetch_state state = FETCH_PROCESS_ARGS;
struct upload_pack_data data;

4
upload-pack.h

@ -11,10 +11,8 @@ struct upload_pack_options {
void upload_pack(struct upload_pack_options *options);
struct repository;
struct strvec;
struct packet_reader;
int upload_pack_v2(struct repository *r, struct strvec *keys,
struct packet_reader *request);
int upload_pack_v2(struct repository *r, struct packet_reader *request);
struct strbuf;
int upload_pack_advertise(struct repository *r,

Loading…
Cancel
Save