Merge branch 'rr/triangle'
[gitweb.git] / fetch-pack.h
index e06bf5b5c49e24e096ef322cfe3714ad0627113a..dc5266c970655a9fe4f971a0132c14e1cf731acc 100644 (file)
@@ -1,21 +1,35 @@
 #ifndef FETCH_PACK_H
 #define FETCH_PACK_H
 
-struct fetch_pack_args
-{
+#include "string-list.h"
+
+struct fetch_pack_args {
        const char *uploadpack;
-       int quiet;
-       int keep_pack;
        int unpacklimit;
-       int use_thin_pack;
-       int fetch_all;
-       int verbose;
        int depth;
-       int no_progress;
+       unsigned quiet:1,
+               keep_pack:1,
+               lock_pack:1,
+               use_thin_pack:1,
+               fetch_all:1,
+               stdin_refs:1,
+               verbose:1,
+               no_progress:1,
+               include_tag:1,
+               stateless_rpc:1;
 };
 
-void setup_fetch_pack(struct fetch_pack_args *args);
-
-struct ref *fetch_pack(const char *dest, int nr_heads, char **heads);
+/*
+ * sought represents remote references that should be updated from.
+ * On return, the names that were found on the remote will have been
+ * marked as such.
+ */
+struct ref *fetch_pack(struct fetch_pack_args *args,
+                      int fd[], struct child_process *conn,
+                      const struct ref *ref,
+                      const char *dest,
+                      struct ref **sought,
+                      int nr_sought,
+                      char **pack_lockfile);
 
 #endif