summaryrefslogtreecommitdiff
path: root/fetch-pack.h
blob: cb148719bfd3bace27a0ca9611f1c38066fb6ed4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef FETCH_PACK_H
#define FETCH_PACK_H

#include "string-list.h"

struct fetch_pack_args {
	const char *uploadpack;
	int unpacklimit;
	int depth;
	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;
};

/*
 * sought contains the full names of remote references that should be
 * updated from.  On return, the names that were found on the remote
 * will have been removed from the list.  The util members of the
 * string_list_items are used internally; they must be NULL on entry
 * (and will be NULL on exit).
 */
struct ref *fetch_pack(struct fetch_pack_args *args,
		       int fd[], struct child_process *conn,
		       const struct ref *ref,
		       const char *dest,
		       struct string_list *sought,
		       char **pack_lockfile);

#endif