1#ifndef FETCH_PACK_H
2#define FETCH_PACK_H
3
4#include "string-list.h"
5#include "run-command.h"
6
7struct 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 diag_url:1,
18 verbose:1,
19 no_progress:1,
20 include_tag:1,
21 stateless_rpc:1,
22 check_self_contained_and_connected:1,
23 self_contained_and_connected:1;
24};
25
26/*
27 * sought represents remote references that should be updated from.
28 * On return, the names that were found on the remote will have been
29 * marked as such.
30 */
31struct ref *fetch_pack(struct fetch_pack_args *args,
32 int fd[], struct child_process *conn,
33 const struct ref *ref,
34 const char *dest,
35 struct ref **sought,
36 int nr_sought,
37 char **pack_lockfile);
38
39#endif