request-pull: rewrite to C
[git] / fetch-pack.h
1 #ifndef FETCH_PACK_H
2 #define FETCH_PACK_H
3
4 #include "string-list.h"
5 #include "run-command.h"
6
7 struct fetch_pack_args {
8         const char *uploadpack;
9         int unpacklimit;
10         int depth;
11         unsigned quiet:1,
12                 keep_pack:1,
13                 lock_pack:1,
14                 use_thin_pack:1,
15                 fetch_all:1,
16                 stdin_refs:1,
17                 verbose:1,
18                 no_progress:1,
19                 include_tag:1,
20                 stateless_rpc:1,
21                 check_self_contained_and_connected:1,
22                 self_contained_and_connected:1;
23 };
24
25 /*
26  * sought represents remote references that should be updated from.
27  * On return, the names that were found on the remote will have been
28  * marked as such.
29  */
30 struct ref *fetch_pack(struct fetch_pack_args *args,
31                        int fd[], struct child_process *conn,
32                        const struct ref *ref,
33                        const char *dest,
34                        struct ref **sought,
35                        int nr_sought,
36                        char **pack_lockfile);
37
38 #endif