diff options
Diffstat (limited to 'cache-tree.h')
-rw-r--r-- | cache-tree.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/cache-tree.h b/cache-tree.h index 41c574663a..326209198b 100644 --- a/cache-tree.h +++ b/cache-tree.h @@ -1,6 +1,7 @@ #ifndef CACHE_TREE_H #define CACHE_TREE_H +#include "cache.h" #include "tree.h" #include "tree-walk.h" @@ -15,7 +16,7 @@ struct cache_tree_sub { struct cache_tree { int entry_count; /* negative means "invalid" */ - unsigned char sha1[20]; + struct object_id oid; int subtree_nr; int subtree_alloc; struct cache_tree_sub **down; @@ -31,8 +32,7 @@ struct cache_tree *cache_tree_read(const char *buffer, unsigned long size); int cache_tree_fully_valid(struct cache_tree *); int cache_tree_update(struct index_state *, int); - -int update_main_cache_tree(int); +void cache_tree_verify(struct repository *, struct index_state *); /* bitmasks to write_cache_as_tree flags */ #define WRITE_TREE_MISSING_OK 1 @@ -46,10 +46,23 @@ int update_main_cache_tree(int); #define WRITE_TREE_UNMERGED_INDEX (-2) #define WRITE_TREE_PREFIX_ERROR (-3) -int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, const char *index_path, int flags, const char *prefix); -int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix); -void prime_cache_tree(struct index_state *, struct tree *); +int write_index_as_tree(struct object_id *oid, struct index_state *index_state, const char *index_path, int flags, const char *prefix); +void prime_cache_tree(struct repository *, struct index_state *, struct tree *); + +int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info); -extern int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info); +#ifndef NO_THE_INDEX_COMPATIBILITY_MACROS +static inline int write_cache_as_tree(struct object_id *oid, int flags, const char *prefix) +{ + return write_index_as_tree(oid, &the_index, get_index_file(), flags, prefix); +} + +static inline int update_main_cache_tree(int flags) +{ + if (!the_index.cache_tree) + the_index.cache_tree = cache_tree(); + return cache_tree_update(&the_index, flags); +} +#endif #endif |