Move bundle specific stuff into bundle.[ch]

The transport specific stuff was moved into libgit.a, and the
bundle specific stuff will not be left behind.

This is a big code move, with one exception: the function
unbundle() no longer outputs the list of refs.  You have to call
list_bundle_refs() yourself for that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin
2007-09-10 23:03:15 -04:00
committed by Junio C Hamano
parent c29727d524
commit 30415d50cc
4 changed files with 375 additions and 360 deletions

25
bundle.h Normal file
View File

@ -0,0 +1,25 @@
#ifndef BUNDLE_H
#define BUNDLE_H
struct ref_list {
unsigned int nr, alloc;
struct ref_list_entry {
unsigned char sha1[20];
char *name;
} *list;
};
struct bundle_header {
struct ref_list prerequisites;
struct ref_list references;
};
int read_bundle_header(const char *path, struct bundle_header *header);
int create_bundle(struct bundle_header *header, const char *path,
int argc, const char **argv);
int verify_bundle(struct bundle_header *header, int verbose);
int unbundle(struct bundle_header *header, int bundle_fd);
int list_bundle_refs(struct bundle_header *header,
int argc, const char **argv);
#endif