Merge branch 'nd/pack-objects-pack-struct'
[gitweb.git] / connect.c
index b34dc80451fb375b112c1338a0aa3326a0a168ad..31aa9c843311b4e0b01e7378a85709083b071311 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -408,7 +408,8 @@ static int process_ref_v2(const char *line, struct ref ***list)
 
 struct ref **get_remote_refs(int fd_out, struct packet_reader *reader,
                             struct ref **list, int for_push,
-                            const struct argv_array *ref_prefixes)
+                            const struct argv_array *ref_prefixes,
+                            const struct string_list *server_options)
 {
        int i;
        *list = NULL;
@@ -419,6 +420,12 @@ struct ref **get_remote_refs(int fd_out, struct packet_reader *reader,
        if (server_supports_v2("agent", 0))
                packet_write_fmt(fd_out, "agent=%s", git_user_agent_sanitized());
 
+       if (server_options && server_options->nr &&
+           server_supports_v2("server-option", 1))
+               for (i = 0; i < server_options->nr; i++)
+                       packet_write_fmt(fd_out, "server-option=%s",
+                                        server_options->items[i].string);
+
        packet_delim(fd_out);
        /* When pushing we don't want to request the peeled tags */
        if (!for_push)