]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ab/serve-cleanup'
authorJunio C Hamano <gitster@pobox.com>
Mon, 20 Sep 2021 22:20:43 +0000 (15:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Sep 2021 22:20:43 +0000 (15:20 -0700)
Code clean-up around "git serve".

* ab/serve-cleanup:
  upload-pack: document and rename --advertise-refs
  serve.[ch]: remove "serve_options", split up --advertise-refs code
  {upload,receive}-pack tests: add --advertise-refs tests
  serve.c: move version line to advertise_capabilities()
  serve: move transfer.advertiseSID check into session_id_advertise()
  serve.[ch]: don't pass "struct strvec *keys" to commands
  serve: use designated initializers
  transport: use designated initializers
  transport: rename "fetch" in transport_vtable to "fetch_refs"
  serve: mark has_capability() as static

1  2 
builtin/receive-pack.c
ls-refs.c
protocol-caps.c
transport.c
upload-pack.c

Simple merge
diff --cc ls-refs.c
Simple merge
diff --cc protocol-caps.c
index 901b6795e42d055764146b44b37f611841e1ae4a,4b345c55046b6395f923d5739958bf0d1bf6c2ce..bbde91810ac6667a1ee624d112ad26cf23776b1e
@@@ -69,14 -69,12 +69,13 @@@ static void send_info(struct repositor
                        }
                }
  
 -              packet_writer_write(writer, "%s",
 -                                  strbuf_detach(&send_buffer, NULL));
 +              packet_writer_write(writer, "%s", send_buffer.buf);
 +              strbuf_reset(&send_buffer);
        }
 +      strbuf_release(&send_buffer);
  }
  
- 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;
diff --cc transport.c
Simple merge
diff --cc upload-pack.c
index 8ad5ee9bfc6f97820053e00d626654d05ab71a04,fc38f04d983aa8394a97541a7cabc4b29b6cba6d..c78d55bc674ed2b22b7f4417173242ad4e53bfd0
@@@ -1344,15 -1346,12 +1346,17 @@@ void upload_pack(const int advertise_re
  
        head_ref_namespaced(find_symref, &data.symref);
  
-       if (options->advertise_refs || !data.stateless_rpc) {
+       if (advertise_refs || !data.stateless_rpc) {
                reset_timeout(data.timeout);
+               if (advertise_refs)
+                       data.no_done = 1;
                head_ref_namespaced(send_ref, &data);
                for_each_namespaced_ref(send_ref, &data);
 +              /*
 +               * fflush stdout before calling advertise_shallow_grafts because send_ref
 +               * uses stdio.
 +               */
 +              fflush_or_die(stdout);
                advertise_shallow_grafts(1);
                packet_flush(1);
        } else {