| 1 | #ifndef PROMISOR_REMOTE_H |
| 2 | #define PROMISOR_REMOTE_H |
| 3 | |
| 4 | struct object_id; |
| 5 | |
| 6 | /* |
| 7 | * Promisor remote linked list |
| 8 | * |
| 9 | * Information in its fields come from remote.XXX config entries or |
| 10 | * from extensions.partialclone or core.partialclonefilter. |
| 11 | */ |
| 12 | struct promisor_remote { |
| 13 | struct promisor_remote *next; |
| 14 | const char *partial_clone_filter; |
| 15 | const char name[FLEX_ARRAY]; |
| 16 | }; |
| 17 | |
| 18 | extern void promisor_remote_reinit(void); |
| 19 | extern struct promisor_remote *promisor_remote_find(const char *remote_name); |
| 20 | extern int has_promisor_remote(void); |
| 21 | extern int promisor_remote_get_direct(struct repository *repo, |
| 22 | const struct object_id *oids, |
| 23 | int oid_nr); |
| 24 | |
| 25 | /* |
| 26 | * This should be used only once from setup.c to set the value we got |
| 27 | * from the extensions.partialclone config option. |
| 28 | */ |
| 29 | extern void set_repository_format_partial_clone(char *partial_clone); |
| 30 | |
| 31 | #endif /* PROMISOR_REMOTE_H */ |