Merge branch 'jc/mention-tracking-for-pull-default'
[git.git] / fetch-pack.h
1 #ifndef FETCH_PACK_H
2 #define FETCH_PACK_H
3
4 #include "string-list.h"
5
6 struct fetch_pack_args {
7         const char *uploadpack;
8         int unpacklimit;
9         int depth;
10         unsigned quiet:1,
11                 keep_pack:1,
12                 lock_pack:1,
13                 use_thin_pack:1,
14                 fetch_all:1,
15                 stdin_refs:1,
16                 verbose:1,
17                 no_progress:1,
18                 include_tag:1,
19                 stateless_rpc:1;
20 };
21
22 /*
23  * sought contains the full names of remote references that should be
24  * updated from.  On return, the names that were found on the remote
25  * will have been removed from the list.  The util members of the
26  * string_list_items are used internally; they must be NULL on entry
27  * (and will be NULL on exit).
28  */
29 struct ref *fetch_pack(struct fetch_pack_args *args,
30                        int fd[], struct child_process *conn,
31                        const struct ref *ref,
32                        const char *dest,
33                        struct string_list *sought,
34                        char **pack_lockfile);
35
36 #endif