fetch: add --update-shallow to accept refs that update .git/shallow
[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 sha1_array;
8
9 struct fetch_pack_args {
10         const char *uploadpack;
11         int unpacklimit;
12         int depth;
13         unsigned quiet:1;
14         unsigned keep_pack:1;
15         unsigned lock_pack:1;
16         unsigned use_thin_pack:1;
17         unsigned fetch_all:1;
18         unsigned stdin_refs:1;
19         unsigned verbose:1;
20         unsigned no_progress:1;
21         unsigned include_tag:1;
22         unsigned stateless_rpc:1;
23         unsigned check_self_contained_and_connected:1;
24         unsigned self_contained_and_connected:1;
25         unsigned cloning:1;
26         unsigned update_shallow:1;
27 };
28
29 /*
30  * sought represents remote references that should be updated from.
31  * On return, the names that were found on the remote will have been
32  * marked as such.
33  */
34 struct ref *fetch_pack(struct fetch_pack_args *args,
35                        int fd[], struct child_process *conn,
36                        const struct ref *ref,
37                        const char *dest,
38                        struct ref **sought,
39                        int nr_sought,
40                        struct sha1_array *shallow,
41                        char **pack_lockfile);
42
43 #endif