]>
Commit | Line | Data |
---|---|---|
30415d50 JS |
1 | #ifndef BUNDLE_H |
2 | #define BUNDLE_H | |
3 | ||
dbbcd44f | 4 | #include "strvec.h" |
b8607f35 | 5 | #include "cache.h" |
10b635b7 | 6 | #include "string-list.h" |
105c6f14 | 7 | #include "list-objects-filter-options.h" |
30415d50 JS |
8 | |
9 | struct bundle_header { | |
c5aecfc8 | 10 | unsigned version; |
10b635b7 ÆAB |
11 | struct string_list prerequisites; |
12 | struct string_list references; | |
6161ce7b | 13 | const struct git_hash_algo *hash_algo; |
105c6f14 | 14 | struct list_objects_filter_options filter; |
30415d50 JS |
15 | }; |
16 | ||
10b635b7 ÆAB |
17 | #define BUNDLE_HEADER_INIT \ |
18 | { \ | |
19 | .prerequisites = STRING_LIST_INIT_DUP, \ | |
20 | .references = STRING_LIST_INIT_DUP, \ | |
2a01bded | 21 | .filter = LIST_OBJECTS_FILTER_INIT, \ |
10b635b7 ÆAB |
22 | } |
23 | void bundle_header_init(struct bundle_header *header); | |
24 | void bundle_header_release(struct bundle_header *header); | |
25 | ||
2727b71f | 26 | int is_bundle(const char *path, int quiet); |
30415d50 | 27 | int read_bundle_header(const char *path, struct bundle_header *header); |
89c6e450 ÆAB |
28 | int read_bundle_header_fd(int fd, struct bundle_header *header, |
29 | const char *report_path); | |
fcb133e9 | 30 | int create_bundle(struct repository *r, const char *path, |
e0ad9574 | 31 | int argc, const char **argv, struct strvec *pack_options, |
c5aecfc8 | 32 | int version); |
74ae4b63 | 33 | int verify_bundle(struct repository *r, struct bundle_header *header, int verbose); |
08342573 ÆAB |
34 | |
35 | /** | |
36 | * Unbundle after reading the header with read_bundle_header(). | |
37 | * | |
38 | * We'll invoke "git index-pack --stdin --fix-thin" for you on the | |
39 | * provided `bundle_fd` from read_bundle_header(). | |
7366096d ÆAB |
40 | * |
41 | * Provide "extra_index_pack_args" to pass any extra arguments | |
42 | * (e.g. "-v" for verbose/progress), NULL otherwise. The provided | |
43 | * "extra_index_pack_args" (if any) will be strvec_clear()'d for you. | |
08342573 | 44 | */ |
74ae4b63 | 45 | int unbundle(struct repository *r, struct bundle_header *header, |
7366096d | 46 | int bundle_fd, struct strvec *extra_index_pack_args); |
30415d50 JS |
47 | int list_bundle_refs(struct bundle_header *header, |
48 | int argc, const char **argv); | |
49 | ||
50 | #endif |