Merge branch 'jn/warn-on-inaccessible-loosen'
[gitweb.git] / transport.h
index 3b21c4abe6d8890f99fe0169792605c98644fafd..bfd2df5823aac55e4ce8674b7980cccabf0fed5f 100644 (file)
@@ -140,11 +140,13 @@ int transport_set_option(struct transport *transport, const char *name,
 void transport_set_verbosity(struct transport *transport, int verbosity,
        int force_progress);
 
-#define NON_FF_HEAD 1
-#define NON_FF_OTHER 2
+#define REJECT_NON_FF_HEAD     0x01
+#define REJECT_NON_FF_OTHER    0x02
+#define REJECT_ALREADY_EXISTS  0x04
+
 int transport_push(struct transport *connection,
                   int refspec_nr, const char **refspec, int flags,
-                  int * nonfastforward);
+                  unsigned int * reject_reasons);
 
 const struct ref *transport_get_remote_refs(struct transport *transport);
 
@@ -170,9 +172,14 @@ void transport_update_tracking_ref(struct remote *remote, struct ref *ref, int v
 int transport_refs_pushed(struct ref *ref);
 
 void transport_print_push_status(const char *dest, struct ref *refs,
-                 int verbose, int porcelain, int *nonfastforward);
+                 int verbose, int porcelain, unsigned int *reject_reasons);
 
 typedef void alternate_ref_fn(const struct ref *, void *);
 extern void for_each_alternate_ref(alternate_ref_fn, void *);
 
+struct send_pack_args;
+extern int send_pack(struct send_pack_args *args,
+                    int fd[], struct child_process *conn,
+                    struct ref *remote_refs,
+                    struct extra_have_objects *extra_have);
 #endif