push: propagate remote and refspec with --recurse-submodules
[gitweb.git] / send-pack.h
index 83d76c7e35183ded9eec5a56c59d4da549c0b584..67fc40f4ec1a0847fb16535334e07bf196e8028a 100644 (file)
@@ -1,16 +1,37 @@
 #ifndef SEND_PACK_H
 #define SEND_PACK_H
 
+#include "string-list.h"
+
+/* Possible values for push_cert field in send_pack_args. */
+#define SEND_PACK_PUSH_CERT_NEVER 0
+#define SEND_PACK_PUSH_CERT_IF_ASKED 1
+#define SEND_PACK_PUSH_CERT_ALWAYS 2
+
 struct send_pack_args {
+       const char *url;
        unsigned verbose:1,
+               quiet:1,
+               porcelain:1,
+               progress:1,
                send_mirror:1,
                force_update:1,
                use_thin_pack:1,
-               dry_run:1;
+               use_ofs_delta:1,
+               dry_run:1,
+               /* One of the SEND_PACK_PUSH_CERT_* constants. */
+               push_cert:2,
+               stateless_rpc:1,
+               atomic:1;
+       const struct string_list *push_options;
 };
 
+struct option;
+int option_parse_push_signed(const struct option *opt,
+                            const char *arg, int unset);
+
 int send_pack(struct send_pack_args *args,
              int fd[], struct child_process *conn,
-             struct ref *remote_refs, struct extra_have_objects *extra_have);
+             struct ref *remote_refs, struct sha1_array *extra_have);
 
 #endif