Merge branch 'ds/more-index-cleanups'
[git] / bundle.h
1 #ifndef BUNDLE_H
2 #define BUNDLE_H
3
4 #include "strvec.h"
5 #include "cache.h"
6
7 struct ref_list {
8         unsigned int nr, alloc;
9         struct ref_list_entry {
10                 struct object_id oid;
11                 char *name;
12         } *list;
13 };
14
15 struct bundle_header {
16         unsigned version;
17         struct ref_list prerequisites;
18         struct ref_list references;
19         const struct git_hash_algo *hash_algo;
20 };
21
22 int is_bundle(const char *path, int quiet);
23 int read_bundle_header(const char *path, struct bundle_header *header);
24 int create_bundle(struct repository *r, const char *path,
25                   int argc, const char **argv, struct strvec *pack_options,
26                   int version);
27 int verify_bundle(struct repository *r, struct bundle_header *header, int verbose);
28 #define BUNDLE_VERBOSE 1
29 int unbundle(struct repository *r, struct bundle_header *header,
30              int bundle_fd, int flags);
31 int list_bundle_refs(struct bundle_header *header,
32                 int argc, const char **argv);
33
34 #endif