upload-archive: monitor child communication more carefully.
[git] / fetch.h
1 #ifndef PULL_H
2 #define PULL_H
3
4 /*
5  * Fetch object given SHA1 from the remote, and store it locally under
6  * GIT_OBJECT_DIRECTORY.  Return 0 on success, -1 on failure.  To be
7  * provided by the particular implementation.
8  */
9 extern int fetch(unsigned char *sha1);
10
11 /*
12  * Fetch the specified object and store it locally; fetch() will be
13  * called later to determine success. To be provided by the particular
14  * implementation.
15  */
16 extern void prefetch(unsigned char *sha1);
17
18 /*
19  * Fetch ref (relative to $GIT_DIR/refs) from the remote, and store
20  * the 20-byte SHA1 in sha1.  Return 0 on success, -1 on failure.  To
21  * be provided by the particular implementation.
22  */
23 extern int fetch_ref(char *ref, unsigned char *sha1);
24
25 /* Set to fetch the target tree. */
26 extern int get_tree;
27
28 /* Set to fetch the commit history. */
29 extern int get_history;
30
31 /* Set to fetch the trees in the commit history. */
32 extern int get_all;
33
34 /* Set to be verbose */
35 extern int get_verbosely;
36
37 /* Set to check on all reachable objects. */
38 extern int get_recover;
39
40 /* Report what we got under get_verbosely */
41 extern void pull_say(const char *, const char *);
42
43 /* Load pull targets from stdin */
44 extern int pull_targets_stdin(char ***target, const char ***write_ref);
45
46 /* Free up loaded targets */
47 extern void pull_targets_free(int targets, char **target, const char **write_ref);
48
49 /* If write_ref is set, the ref filename to write the target value to. */
50 /* If write_ref_log_details is set, additional text will appear in the ref log. */
51 extern int pull(int targets, char **target, const char **write_ref,
52                 const char *write_ref_log_details);
53
54 #endif /* PULL_H */