git-svn: add 'clone' command, an alias for init + fetch
[git/fastimport.git] / fetch.h
blobbe48c6f19092a81672dd24eb38e9ffca39f5b53c
1 #ifndef PULL_H
2 #define PULL_H
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);
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.
16 extern void prefetch(unsigned char *sha1);
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.
23 extern int fetch_ref(char *ref, unsigned char *sha1);
25 /* Set to fetch the target tree. */
26 extern int get_tree;
28 /* Set to fetch the commit history. */
29 extern int get_history;
31 /* Set to fetch the trees in the commit history. */
32 extern int get_all;
34 /* Set to be verbose */
35 extern int get_verbosely;
37 /* Set to check on all reachable objects. */
38 extern int get_recover;
40 /* Report what we got under get_verbosely */
41 extern void pull_say(const char *, const char *);
43 /* Load pull targets from stdin */
44 extern int pull_targets_stdin(char ***target, const char ***write_ref);
46 /* Free up loaded targets */
47 extern void pull_targets_free(int targets, char **target, const char **write_ref);
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);
54 #endif /* PULL_H */