X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=cache.h;h=ba5c4ab7eea18ac4782d5f31a80330f8b487f1b0;hb=b30245c8e92ecaf8fb877189d7620a5a9a205120;hp=957e2ca7ca0d1a7209b8e1294286a1f641eb1338;hpb=6b7242aa1acc3c7835f80522914ffc4b2e789a29;p=git.git diff --git a/cache.h b/cache.h index 957e2ca7..ba5c4ab7 100644 --- a/cache.h +++ b/cache.h @@ -38,6 +38,9 @@ #define NORETURN __attribute__((__noreturn__)) #else #define NORETURN +#ifndef __attribute__ +#define __attribute__(x) +#endif #endif /* @@ -136,6 +139,10 @@ extern char *get_graft_file(void); #define ALTERNATE_DB_ENVIRONMENT "GIT_ALTERNATE_OBJECT_DIRECTORIES" +extern const char **get_pathspec(const char *prefix, char **pathspec); +extern const char *setup_git_directory(void); +extern char *prefix_path(const char *prefix, int len, char *path); + #define alloc_nr(x) (((x)+16)*3/2) /* Initialize and use the cache information */ @@ -171,8 +178,8 @@ extern void rollback_index_file(struct cache_file *); #define TYPE_CHANGED 0x0040 /* Return a statically allocated filename matching the sha1 signature */ -extern char *mkpath(const char *fmt, ...); -extern char *git_path(const char *fmt, ...); +extern char *mkpath(const char *fmt, ...) __attribute__((format (printf, 1, 2))); +extern char *git_path(const char *fmt, ...) __attribute__((format (printf, 1, 2))); extern char *sha1_file_name(const unsigned char *sha1); extern char *sha1_pack_name(const unsigned char *sha1); extern char *sha1_pack_index_name(const unsigned char *sha1); @@ -218,8 +225,8 @@ extern char *sha1_to_hex(const unsigned char *sha1); /* static buffer result! */ /* General helper functions */ extern void usage(const char *err) NORETURN; -extern void die(const char *err, ...) NORETURN; -extern int error(const char *err, ...); +extern void die(const char *err, ...) NORETURN __attribute__((format (printf, 1, 2))); +extern int error(const char *err, ...) __attribute__((format (printf, 1, 2))); extern int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2); extern int cache_name_compare(const char *name1, int len1, const char *name2, int len2); @@ -274,9 +281,10 @@ struct checkout { extern int checkout_entry(struct cache_entry *ce, struct checkout *state); extern struct alternate_object_database { - char *base; + struct alternate_object_database *next; char *name; -} *alt_odb; + char base[0]; /* more */ +} *alt_odb_list; extern void prepare_alt_odb(void); extern struct packed_git { @@ -314,6 +322,8 @@ extern int get_ack(int fd, unsigned char *result_sha1); extern struct ref **get_remote_heads(int in, struct ref **list, int nr_match, char **match); extern struct packed_git *parse_pack_index(unsigned char *sha1); +extern struct packed_git *parse_pack_index_file(unsigned char *sha1, + char *idx_path); extern void prepare_packed_git(void); extern void install_packed_git(struct packed_git *pack);