]>
Commit | Line | Data |
---|---|---|
1 | #ifndef CONNECTED_H | |
2 | #define CONNECTED_H | |
3 | ||
4 | struct transport; | |
5 | ||
6 | /* | |
7 | * Take callback data, and return next object name in the buffer. | |
8 | * When called after returning the name for the last object, return -1 | |
9 | * to signal EOF, otherwise return 0. | |
10 | */ | |
11 | typedef int (*oid_iterate_fn)(void *, struct object_id *oid); | |
12 | ||
13 | /* | |
14 | * Named-arguments struct for check_connected. All arguments are | |
15 | * optional, and can be left to defaults as set by CHECK_CONNECTED_INIT. | |
16 | */ | |
17 | struct check_connected_options { | |
18 | /* Avoid printing any errors to stderr. */ | |
19 | int quiet; | |
20 | ||
21 | /* --shallow-file to pass to rev-list sub-process */ | |
22 | const char *shallow_file; | |
23 | ||
24 | /* Transport whose objects we are checking, if available. */ | |
25 | struct transport *transport; | |
26 | ||
27 | /* | |
28 | * If non-zero, send error messages to this descriptor rather | |
29 | * than stderr. The descriptor is closed before check_connected | |
30 | * returns. | |
31 | */ | |
32 | int err_fd; | |
33 | ||
34 | /* If non-zero, show progress as we traverse the objects. */ | |
35 | int progress; | |
36 | ||
37 | /* | |
38 | * Insert these variables into the environment of the child process. | |
39 | */ | |
40 | const char **env; | |
41 | }; | |
42 | ||
43 | #define CHECK_CONNECTED_INIT { 0 } | |
44 | ||
45 | /* | |
46 | * Make sure that our object store has all the commits necessary to | |
47 | * connect the ancestry chain to some of our existing refs, and all | |
48 | * the trees and blobs that these commits use. | |
49 | * | |
50 | * Return 0 if Ok, non zero otherwise (i.e. some missing objects) | |
51 | * | |
52 | * If "opt" is NULL, behaves as if CHECK_CONNECTED_INIT was passed. | |
53 | */ | |
54 | int check_connected(oid_iterate_fn fn, void *cb_data, | |
55 | struct check_connected_options *opt); | |
56 | ||
57 | #endif /* CONNECTED_H */ |