blob: e9a4cb6a74335cfd8972b19340b38e2210061a6d [file] [log] [blame]
Johannes Schindelin30415d52007-09-10 23:03:15 -04001#ifndef BUNDLE_H
2#define BUNDLE_H
3
brian m. carlsonb8607f32017-05-01 02:28:59 +00004#include "cache.h"
5
Johannes Schindelin30415d52007-09-10 23:03:15 -04006struct ref_list {
7 unsigned int nr, alloc;
8 struct ref_list_entry {
brian m. carlsonb8607f32017-05-01 02:28:59 +00009 struct object_id oid;
Johannes Schindelin30415d52007-09-10 23:03:15 -040010 char *name;
11 } *list;
12};
13
14struct bundle_header {
15 struct ref_list prerequisites;
16 struct ref_list references;
17};
18
Junio C Hamano2727b712011-10-13 15:19:31 -070019int is_bundle(const char *path, int quiet);
Johannes Schindelin30415d52007-09-10 23:03:15 -040020int read_bundle_header(const char *path, struct bundle_header *header);
21int create_bundle(struct bundle_header *header, const char *path,
22 int argc, const char **argv);
23int verify_bundle(struct bundle_header *header, int verbose);
Junio C Hamanobe042af2011-09-18 16:52:32 -070024#define BUNDLE_VERBOSE 1
25int unbundle(struct bundle_header *header, int bundle_fd, int flags);
Johannes Schindelin30415d52007-09-10 23:03:15 -040026int list_bundle_refs(struct bundle_header *header,
27 int argc, const char **argv);
28
29#endif