diff options
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -14,6 +14,8 @@ #include <sys/mman.h> #include <sys/param.h> #include <netinet/in.h> +#include <sys/types.h> +#include <dirent.h> #include SHA1_HEADER #include <zlib.h> @@ -174,6 +176,7 @@ extern int read_tree(void *buffer, unsigned long size, int stage); extern int write_sha1_from_fd(const unsigned char *sha1, int fd); +extern int has_sha1_pack(const unsigned char *sha1); extern int has_sha1_file(const unsigned char *sha1); /* Convert to/from hex/sha1 representation */ @@ -233,4 +236,41 @@ 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; + +struct pack_entry { + unsigned int offset; + unsigned char sha1[20]; + struct packed_git *p; +}; + +extern int git_connect(int fd[2], char *url, const char *prog); +extern int finish_connect(pid_t pid); +extern int path_match(const char *path, int nr, char **match); + +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*); +extern int find_pack_entry_one(const unsigned char *, struct pack_entry *, struct packed_git *); +extern void *unpack_entry_gently(struct pack_entry *, char *, unsigned long *); +extern void packed_object_info_detail(struct pack_entry *, char *, unsigned long *, unsigned long *, int *, unsigned char *); + #endif /* CACHE_H */ |