Skip to content
Permalink
Newer
Older
100644 39 lines (29 sloc) 1.1 KB
September 10, 2007 23:02
1
#ifndef WALKER_H
2
#define WALKER_H
3
February 27, 2008 21:35
4
#include "remote.h"
5
September 10, 2007 23:02
6
struct walker {
7
void *data;
8
int (*fetch_ref)(struct walker *, struct ref *ref);
September 10, 2007 23:02
9
void (*prefetch)(struct walker *, unsigned char *sha1);
10
int (*fetch)(struct walker *, unsigned char *sha1);
11
void (*cleanup)(struct walker *);
12
int get_tree;
13
int get_history;
14
int get_all;
15
int get_verbosely;
16
int get_recover;
17
18
int corrupt_object_found;
19
};
20
21
/* Report what we got under get_verbosely */
22
void walker_say(struct walker *walker, const char *, const char *);
23
24
/* Load pull targets from stdin */
25
int walker_targets_stdin(char ***target, const char ***write_ref);
26
27
/* Free up loaded targets */
28
void walker_targets_free(int targets, char **target, const char **write_ref);
29
30
/* If write_ref is set, the ref filename to write the target value to. */
31
/* If write_ref_log_details is set, additional text will appear in the ref log. */
32
int walker_fetch(struct walker *impl, int targets, char **target,
33
const char **write_ref, const char *write_ref_log_details);
34
35
void walker_free(struct walker *walker);
36
37
struct walker *get_http_walker(const char *url);
September 10, 2007 23:02
38
39
#endif /* WALKER_H */