summaryrefslogtreecommitdiff
path: root/cache-tree.h
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2018-08-13 16:14:19 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-13 21:14:42 (GMT)
commit07096c969678a999c24816805d72bf7e0e840384 (patch)
tree965a8f2a1f6362fc0edd6af2bca132dd40ed1141 /cache-tree.h
parentff7fe37b0530c0ddb5a88fe41b963b68b3f66127 (diff)
downloadgit-07096c969678a999c24816805d72bf7e0e840384.zip
git-07096c969678a999c24816805d72bf7e0e840384.tar.gz
git-07096c969678a999c24816805d72bf7e0e840384.tar.bz2
cache-tree: wrap the_index based wrappers with #ifdef
This puts update_main_cache_tree() and write_cache_as_tree() in the same group of "index compat" functions that assume the_index implicitly, which should only be used within builtin/ or t/helper. sequencer.c is also updated to not use these functions. As of now, no files outside builtin/ use these functions anymore. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache-tree.h')
-rw-r--r--cache-tree.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/cache-tree.h b/cache-tree.h
index 9799e89..fc0c842 100644
--- a/cache-tree.h
+++ b/cache-tree.h
@@ -33,8 +33,6 @@ 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);
-
/* bitmasks to write_cache_as_tree flags */
#define WRITE_TREE_MISSING_OK 1
#define WRITE_TREE_IGNORE_CACHE_TREE 2
@@ -48,9 +46,22 @@ int update_main_cache_tree(int);
#define WRITE_TREE_PREFIX_ERROR (-3)
int write_index_as_tree(struct object_id *oid, struct index_state *index_state, const char *index_path, int flags, const char *prefix);
-int write_cache_as_tree(struct object_id *oid, int flags, const char *prefix);
void prime_cache_tree(struct index_state *, struct tree *);
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