X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=cache.h;h=4e20455f4fdc5dc513965c154917c218804cc865;hb=61221472a5f8591f2d06d5e5c5aafb03271b8066;hp=765438d8f8c668f0294f084815d22105fab03a53;hpb=c4584ae3fd7cd595a638a07dfd853e9d2745e930;p=git.git diff --git a/cache.h b/cache.h index 765438d8..4e20455f 100644 --- a/cache.h +++ b/cache.h @@ -14,6 +14,8 @@ #include #include #include +#include +#include #include SHA1_HEADER #include @@ -162,7 +164,7 @@ extern char *sha1_file_name(const unsigned char *sha1); extern void * map_sha1_file(const unsigned char *sha1, unsigned long *size); extern int unpack_sha1_header(z_stream *stream, void *map, unsigned long mapsize, void *buffer, unsigned long size); extern int parse_sha1_header(char *hdr, char *type, unsigned long *sizep); -extern int sha1_file_size(const unsigned char *, unsigned long *); +extern int sha1_object_info(const unsigned char *, char *, unsigned long *); extern void * unpack_sha1_file(void *map, unsigned long mapsize, char *type, unsigned long *size); extern void * read_sha1_file(const unsigned char *sha1, char *type, unsigned long *size); extern int write_sha1_file(void *buf, unsigned long len, const char *type, unsigned char *return_sha1); @@ -233,4 +235,27 @@ struct checkout { extern int checkout_entry(struct cache_entry *ce, struct checkout *state); +extern struct alternate_object_database { + char *base; + char *name; +} *alt_odb; +extern void prepare_alt_odb(void); + +extern struct packed_git { + struct packed_git *next; + unsigned long index_size; + unsigned long pack_size; + unsigned int *index_base; + void *pack_base; + unsigned int pack_last_used; + unsigned int pack_use_cnt; + char pack_name[0]; /* something like ".git/objects/pack/xxxxx.pack" */ +} *packed_git; +extern void prepare_packed_git(void); +extern int use_packed_git(struct packed_git *); +extern void unuse_packed_git(struct packed_git *); +extern struct packed_git *add_packed_git(char *, int); +extern int num_packed_objects(const struct packed_git *p); +extern int nth_packed_object_sha1(const struct packed_git *, int, unsigned char*); + #endif /* CACHE_H */