]>
Commit | Line | Data |
---|---|---|
48de3158 CC |
1 | #ifndef PROMISOR_REMOTE_H |
2 | #define PROMISOR_REMOTE_H | |
3 | ||
b06fdead DL |
4 | #include "repository.h" |
5 | ||
9e27beaa CC |
6 | struct object_id; |
7 | ||
48de3158 CC |
8 | /* |
9 | * Promisor remote linked list | |
fa3d1b63 CC |
10 | * |
11 | * Information in its fields come from remote.XXX config entries or | |
12 | * from extensions.partialclone or core.partialclonefilter. | |
48de3158 CC |
13 | */ |
14 | struct promisor_remote { | |
15 | struct promisor_remote *next; | |
fa3d1b63 | 16 | const char *partial_clone_filter; |
48de3158 CC |
17 | const char name[FLEX_ARRAY]; |
18 | }; | |
19 | ||
8464f94a DL |
20 | void promisor_remote_reinit(void); |
21 | struct promisor_remote *promisor_remote_find(const char *remote_name); | |
22 | int has_promisor_remote(void); | |
db7ed741 JT |
23 | |
24 | /* | |
25 | * Fetches all requested objects from all promisor remotes, trying them one at | |
26 | * a time until all objects are fetched. Returns 0 upon success, and non-zero | |
27 | * otherwise. | |
28 | * | |
29 | * If oid_nr is 0, this function returns 0 (success) immediately. | |
30 | */ | |
8464f94a DL |
31 | int promisor_remote_get_direct(struct repository *repo, |
32 | const struct object_id *oids, | |
33 | int oid_nr); | |
48de3158 | 34 | |
60b7a92d CC |
35 | /* |
36 | * This should be used only once from setup.c to set the value we got | |
37 | * from the extensions.partialclone config option. | |
38 | */ | |
8464f94a | 39 | void set_repository_format_partial_clone(char *partial_clone); |
60b7a92d | 40 | |
48de3158 | 41 | #endif /* PROMISOR_REMOTE_H */ |