submodule-config: store the_submodule_cache in the_repository
[gitweb.git] / send-pack.c
index 312cd2c2828a0e41d12087a5fc206ba4854709cb..ed3cee3211bb80fac5c52bfe542a2b06fb308584 100644 (file)
@@ -1,4 +1,5 @@
 #include "builtin.h"
+#include "config.h"
 #include "commit.h"
 #include "refs.h"
 #include "pkt-line.h"
@@ -532,6 +533,14 @@ int send_pack(struct send_pack_args *args,
                }
        }
 
+       if (use_push_options) {
+               struct string_list_item *item;
+
+               packet_buf_flush(&req_buf);
+               for_each_string_list_item(item, args->push_options)
+                       packet_buf_write(&req_buf, "%s", item->string);
+       }
+
        if (args->stateless_rpc) {
                if (!args->dry_run && (cmds_sent || is_repository_shallow())) {
                        packet_buf_flush(&req_buf);
@@ -544,18 +553,6 @@ int send_pack(struct send_pack_args *args,
        strbuf_release(&req_buf);
        strbuf_release(&cap_buf);
 
-       if (use_push_options) {
-               struct string_list_item *item;
-               struct strbuf sb = STRBUF_INIT;
-
-               for_each_string_list_item(item, args->push_options)
-                       packet_buf_write(&sb, "%s", item->string);
-
-               write_or_die(out, sb.buf, sb.len);
-               packet_flush(out);
-               strbuf_release(&sb);
-       }
-
        if (use_sideband && cmds_sent) {
                memset(&demux, 0, sizeof(demux));
                demux.proc = sideband_demux;