Merge branch 'ab/the-index-compatibility'
Remove more remaining uses of macros that relies on the_index singleton instance without explicitly spelling it out. * ab/the-index-compatibility: cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS" cache-tree API: remove redundant update_main_cache_tree() cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*" cocci & cache.h: apply pending "index_cache_pos" rule cocci & cache.h: fully apply "active_nr" part of index-compatibility builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE"
This commit is contained in:
commit
24fb150dcd
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Based on git-am.sh by Junio C Hamano.
|
* Based on git-am.sh by Junio C Hamano.
|
||||||
*/
|
*/
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
@ -1655,7 +1655,7 @@ static void do_commit(const struct am_state *state)
|
|||||||
if (!state->no_verify && run_hooks("pre-applypatch"))
|
if (!state->no_verify && run_hooks("pre-applypatch"))
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
||||||
if (write_cache_as_tree(&tree, 0, NULL))
|
if (write_index_as_tree(&tree, &the_index, get_index_file(), 0, NULL))
|
||||||
die(_("git write-tree failed to write a tree"));
|
die(_("git write-tree failed to write a tree"));
|
||||||
|
|
||||||
if (!get_oid_commit("HEAD", &parent)) {
|
if (!get_oid_commit("HEAD", &parent)) {
|
||||||
@ -2063,7 +2063,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem
|
|||||||
if (fast_forward_to(head_tree, head_tree, 1))
|
if (fast_forward_to(head_tree, head_tree, 1))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (write_cache_as_tree(&index, 0, NULL))
|
if (write_index_as_tree(&index, &the_index, get_index_file(), 0, NULL))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
index_tree = parse_tree_indirect(&index);
|
index_tree = parse_tree_indirect(&index);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Based on git-commit.sh by Junio C Hamano and Linus Torvalds
|
* Based on git-commit.sh by Junio C Hamano and Linus Torvalds
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "lockfile.h"
|
#include "lockfile.h"
|
||||||
@ -414,7 +414,7 @@ static const char *prepare_index(const char **argv, const char *prefix,
|
|||||||
discard_index(&the_index);
|
discard_index(&the_index);
|
||||||
read_index_from(&the_index, get_lock_file_path(&index_lock),
|
read_index_from(&the_index, get_lock_file_path(&index_lock),
|
||||||
get_git_dir());
|
get_git_dir());
|
||||||
if (update_main_cache_tree(WRITE_TREE_SILENT) == 0) {
|
if (cache_tree_update(&the_index, WRITE_TREE_SILENT) == 0) {
|
||||||
if (reopen_lock_file(&index_lock) < 0)
|
if (reopen_lock_file(&index_lock) < 0)
|
||||||
die(_("unable to write index file"));
|
die(_("unable to write index file"));
|
||||||
if (write_locked_index(&the_index, &index_lock, 0))
|
if (write_locked_index(&the_index, &index_lock, 0))
|
||||||
@ -444,7 +444,7 @@ static const char *prepare_index(const char **argv, const char *prefix,
|
|||||||
LOCK_DIE_ON_ERROR);
|
LOCK_DIE_ON_ERROR);
|
||||||
add_files_to_cache(also ? prefix : NULL, &pathspec, 0);
|
add_files_to_cache(also ? prefix : NULL, &pathspec, 0);
|
||||||
refresh_cache_or_die(refresh_flags);
|
refresh_cache_or_die(refresh_flags);
|
||||||
update_main_cache_tree(WRITE_TREE_SILENT);
|
cache_tree_update(&the_index, WRITE_TREE_SILENT);
|
||||||
if (write_locked_index(&the_index, &index_lock, 0))
|
if (write_locked_index(&the_index, &index_lock, 0))
|
||||||
die(_("unable to write new_index file"));
|
die(_("unable to write new_index file"));
|
||||||
commit_style = COMMIT_NORMAL;
|
commit_style = COMMIT_NORMAL;
|
||||||
@ -467,7 +467,7 @@ static const char *prepare_index(const char **argv, const char *prefix,
|
|||||||
refresh_cache_or_die(refresh_flags);
|
refresh_cache_or_die(refresh_flags);
|
||||||
if (the_index.cache_changed
|
if (the_index.cache_changed
|
||||||
|| !cache_tree_fully_valid(the_index.cache_tree))
|
|| !cache_tree_fully_valid(the_index.cache_tree))
|
||||||
update_main_cache_tree(WRITE_TREE_SILENT);
|
cache_tree_update(&the_index, WRITE_TREE_SILENT);
|
||||||
if (write_locked_index(&the_index, &index_lock,
|
if (write_locked_index(&the_index, &index_lock,
|
||||||
COMMIT_LOCK | SKIP_IF_UNCHANGED))
|
COMMIT_LOCK | SKIP_IF_UNCHANGED))
|
||||||
die(_("unable to write new_index file"));
|
die(_("unable to write new_index file"));
|
||||||
@ -516,7 +516,7 @@ static const char *prepare_index(const char **argv, const char *prefix,
|
|||||||
repo_hold_locked_index(the_repository, &index_lock, LOCK_DIE_ON_ERROR);
|
repo_hold_locked_index(the_repository, &index_lock, LOCK_DIE_ON_ERROR);
|
||||||
add_remove_files(&partial);
|
add_remove_files(&partial);
|
||||||
refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
|
refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
|
||||||
update_main_cache_tree(WRITE_TREE_SILENT);
|
cache_tree_update(&the_index, WRITE_TREE_SILENT);
|
||||||
if (write_locked_index(&the_index, &index_lock, 0))
|
if (write_locked_index(&the_index, &index_lock, 0))
|
||||||
die(_("unable to write new_index file"));
|
die(_("unable to write new_index file"));
|
||||||
|
|
||||||
@ -991,9 +991,9 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
|||||||
struct object_id oid;
|
struct object_id oid;
|
||||||
const char *parent = "HEAD";
|
const char *parent = "HEAD";
|
||||||
|
|
||||||
if (!active_nr) {
|
if (!the_index.cache_nr) {
|
||||||
discard_cache();
|
discard_index(&the_index);
|
||||||
if (read_cache() < 0)
|
if (repo_read_index(the_repository) < 0)
|
||||||
die(_("Cannot read index"));
|
die(_("Cannot read index"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1079,7 +1079,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
|||||||
}
|
}
|
||||||
read_index_from(&the_index, index_file, get_git_dir());
|
read_index_from(&the_index, index_file, get_git_dir());
|
||||||
|
|
||||||
if (update_main_cache_tree(0)) {
|
if (cache_tree_update(&the_index, 0)) {
|
||||||
error(_("Error building trees"));
|
error(_("Error building trees"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Based on git-merge.sh by Junio C Hamano.
|
* Based on git-merge.sh by Junio C Hamano.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "parse-options.h"
|
#include "parse-options.h"
|
||||||
@ -390,8 +390,8 @@ static void restore_state(const struct object_id *head,
|
|||||||
run_command(&cmd);
|
run_command(&cmd);
|
||||||
|
|
||||||
refresh_cache:
|
refresh_cache:
|
||||||
discard_cache();
|
discard_index(&the_index);
|
||||||
if (read_cache() < 0)
|
if (repo_read_index(the_repository) < 0)
|
||||||
die(_("could not read index"));
|
die(_("could not read index"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -706,7 +706,7 @@ static int read_tree_trivial(struct object_id *common, struct object_id *head,
|
|||||||
|
|
||||||
static void write_tree_trivial(struct object_id *oid)
|
static void write_tree_trivial(struct object_id *oid)
|
||||||
{
|
{
|
||||||
if (write_cache_as_tree(oid, 0, NULL))
|
if (write_index_as_tree(oid, &the_index, get_index_file(), 0, NULL))
|
||||||
die(_("git write-tree failed to write a tree"));
|
die(_("git write-tree failed to write a tree"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) 2006 Johannes Schindelin
|
* Copyright (C) 2006 Johannes Schindelin
|
||||||
*/
|
*/
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "pathspec.h"
|
#include "pathspec.h"
|
||||||
@ -489,7 +489,8 @@ remove_entry:
|
|||||||
if ((mode & SPARSE) &&
|
if ((mode & SPARSE) &&
|
||||||
path_in_sparse_checkout(dst, &the_index)) {
|
path_in_sparse_checkout(dst, &the_index)) {
|
||||||
/* from out-of-cone to in-cone */
|
/* from out-of-cone to in-cone */
|
||||||
int dst_pos = cache_name_pos(dst, strlen(dst));
|
int dst_pos = index_name_pos(&the_index, dst,
|
||||||
|
strlen(dst));
|
||||||
struct cache_entry *dst_ce = the_index.cache[dst_pos];
|
struct cache_entry *dst_ce = the_index.cache[dst_pos];
|
||||||
|
|
||||||
dst_ce->ce_flags &= ~CE_SKIP_WORKTREE;
|
dst_ce->ce_flags &= ~CE_SKIP_WORKTREE;
|
||||||
@ -500,7 +501,8 @@ remove_entry:
|
|||||||
!(mode & SPARSE) &&
|
!(mode & SPARSE) &&
|
||||||
!path_in_sparse_checkout(dst, &the_index)) {
|
!path_in_sparse_checkout(dst, &the_index)) {
|
||||||
/* from in-cone to out-of-cone */
|
/* from in-cone to out-of-cone */
|
||||||
int dst_pos = cache_name_pos(dst, strlen(dst));
|
int dst_pos = index_name_pos(&the_index, dst,
|
||||||
|
strlen(dst));
|
||||||
struct cache_entry *dst_ce = the_index.cache[dst_pos];
|
struct cache_entry *dst_ce = the_index.cache[dst_pos];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) Linus Torvalds 2006
|
* Copyright (C) Linus Torvalds 2006
|
||||||
*/
|
*/
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
#include "advice.h"
|
#include "advice.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "parse-options.h"
|
#include "parse-options.h"
|
||||||
@ -529,7 +529,8 @@ static int do_apply_stash(const char *prefix, struct stash_info *info,
|
|||||||
NULL, NULL, NULL))
|
NULL, NULL, NULL))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (write_cache_as_tree(&c_tree, 0, NULL))
|
if (write_index_as_tree(&c_tree, &the_index, get_index_file(), 0,
|
||||||
|
NULL))
|
||||||
return error(_("cannot apply a stash in the middle of a merge"));
|
return error(_("cannot apply a stash in the middle of a merge"));
|
||||||
|
|
||||||
if (index) {
|
if (index) {
|
||||||
@ -553,7 +554,8 @@ static int do_apply_stash(const char *prefix, struct stash_info *info,
|
|||||||
|
|
||||||
discard_index(&the_index);
|
discard_index(&the_index);
|
||||||
repo_read_index(the_repository);
|
repo_read_index(the_repository);
|
||||||
if (write_cache_as_tree(&index_tree, 0, NULL))
|
if (write_index_as_tree(&index_tree, &the_index,
|
||||||
|
get_index_file(), 0, NULL))
|
||||||
return error(_("could not save index tree"));
|
return error(_("could not save index tree"));
|
||||||
|
|
||||||
reset_head();
|
reset_head();
|
||||||
@ -1378,7 +1380,8 @@ static int do_create_stash(const struct pathspec *ps, struct strbuf *stash_msg_b
|
|||||||
|
|
||||||
strbuf_addf(&commit_tree_label, "index on %s\n", msg.buf);
|
strbuf_addf(&commit_tree_label, "index on %s\n", msg.buf);
|
||||||
commit_list_insert(head_commit, &parents);
|
commit_list_insert(head_commit, &parents);
|
||||||
if (write_cache_as_tree(&info->i_tree, 0, NULL) ||
|
if (write_index_as_tree(&info->i_tree, &the_index, get_index_file(), 0,
|
||||||
|
NULL) ||
|
||||||
commit_tree(commit_tree_label.buf, commit_tree_label.len,
|
commit_tree(commit_tree_label.buf, commit_tree_label.len,
|
||||||
&info->i_tree, parents, &info->i_commit, NULL, NULL)) {
|
&info->i_tree, parents, &info->i_commit, NULL, NULL)) {
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) Linus Torvalds, 2005
|
* Copyright (C) Linus Torvalds, 2005
|
||||||
*/
|
*/
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "bulk-checkin.h"
|
#include "bulk-checkin.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -381,7 +381,7 @@ static int process_path(const char *path, struct stat *st, int stat_errno)
|
|||||||
if (has_symlink_leading_path(path, len))
|
if (has_symlink_leading_path(path, len))
|
||||||
return error("'%s' is beyond a symbolic link", path);
|
return error("'%s' is beyond a symbolic link", path);
|
||||||
|
|
||||||
pos = cache_name_pos(path, len);
|
pos = index_name_pos(&the_index, path, len);
|
||||||
ce = pos < 0 ? NULL : the_index.cache[pos];
|
ce = pos < 0 ? NULL : the_index.cache[pos];
|
||||||
if (ce && ce_skip_worktree(ce)) {
|
if (ce && ce_skip_worktree(ce)) {
|
||||||
/*
|
/*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) Linus Torvalds, 2005
|
* Copyright (C) Linus Torvalds, 2005
|
||||||
*/
|
*/
|
||||||
#define USE_THE_INDEX_COMPATIBILITY_MACROS
|
#define USE_THE_INDEX_VARIABLE
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -38,7 +38,8 @@ int cmd_write_tree(int argc, const char **argv, const char *cmd_prefix)
|
|||||||
argc = parse_options(argc, argv, cmd_prefix, write_tree_options,
|
argc = parse_options(argc, argv, cmd_prefix, write_tree_options,
|
||||||
write_tree_usage, 0);
|
write_tree_usage, 0);
|
||||||
|
|
||||||
ret = write_cache_as_tree(&oid, flags, tree_prefix);
|
ret = write_index_as_tree(&oid, &the_index, get_index_file(), flags,
|
||||||
|
tree_prefix);
|
||||||
switch (ret) {
|
switch (ret) {
|
||||||
case 0:
|
case 0:
|
||||||
printf("%s\n", oid_to_hex(&oid));
|
printf("%s\n", oid_to_hex(&oid));
|
||||||
|
15
cache-tree.h
15
cache-tree.h
@ -53,19 +53,4 @@ int write_index_as_tree(struct object_id *oid, struct index_state *index_state,
|
|||||||
void prime_cache_tree(struct repository *, struct index_state *, struct tree *);
|
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);
|
int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info);
|
||||||
|
|
||||||
#ifdef USE_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
|
#endif
|
||||||
|
12
cache.h
12
cache.h
@ -449,18 +449,8 @@ typedef int (*must_prefetch_predicate)(const struct cache_entry *);
|
|||||||
void prefetch_cache_entries(const struct index_state *istate,
|
void prefetch_cache_entries(const struct index_state *istate,
|
||||||
must_prefetch_predicate must_prefetch);
|
must_prefetch_predicate must_prefetch);
|
||||||
|
|
||||||
#if defined(USE_THE_INDEX_COMPATIBILITY_MACROS) || defined(USE_THE_INDEX_VARIABLE)
|
#ifdef USE_THE_INDEX_VARIABLE
|
||||||
extern struct index_state the_index;
|
extern struct index_state the_index;
|
||||||
|
|
||||||
#ifndef USE_THE_INDEX_VARIABLE
|
|
||||||
#ifdef USE_THE_INDEX_COMPATIBILITY_MACROS
|
|
||||||
#define active_nr (the_index.cache_nr)
|
|
||||||
|
|
||||||
#define read_cache() repo_read_index(the_repository)
|
|
||||||
#define discard_cache() discard_index(&the_index)
|
|
||||||
#define cache_name_pos(name, namelen) index_name_pos(&the_index,(name),(namelen))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TYPE_BITS 3
|
#define TYPE_BITS 3
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// the_index.* variables
|
// the_index.* variables
|
||||||
@@
|
@@
|
||||||
identifier AC = active_cache;
|
identifier AC = active_cache;
|
||||||
|
identifier AN = active_nr;
|
||||||
identifier ACC = active_cache_changed;
|
identifier ACC = active_cache_changed;
|
||||||
identifier ACT = active_cache_tree;
|
identifier ACT = active_cache_tree;
|
||||||
@@
|
@@
|
||||||
@ -8,6 +9,9 @@ identifier ACT = active_cache_tree;
|
|||||||
- AC
|
- AC
|
||||||
+ the_index.cache
|
+ the_index.cache
|
||||||
|
|
|
|
||||||
|
- AN
|
||||||
|
+ the_index.cache_nr
|
||||||
|
|
|
||||||
- ACC
|
- ACC
|
||||||
+ the_index.cache_changed
|
+ the_index.cache_changed
|
||||||
|
|
|
|
||||||
@ -15,19 +19,13 @@ identifier ACT = active_cache_tree;
|
|||||||
+ the_index.cache_tree
|
+ the_index.cache_tree
|
||||||
)
|
)
|
||||||
|
|
||||||
@@
|
|
||||||
identifier AN = active_nr;
|
|
||||||
identifier f != prepare_to_commit;
|
|
||||||
@@
|
|
||||||
f(...) {<...
|
|
||||||
- AN
|
|
||||||
+ the_index.cache_nr
|
|
||||||
...>}
|
|
||||||
|
|
||||||
// "the_repository" simple cases
|
// "the_repository" simple cases
|
||||||
@@
|
@@
|
||||||
@@
|
@@
|
||||||
(
|
(
|
||||||
|
- read_cache
|
||||||
|
+ repo_read_index
|
||||||
|
|
|
||||||
- read_cache_unmerged
|
- read_cache_unmerged
|
||||||
+ repo_read_index_unmerged
|
+ repo_read_index_unmerged
|
||||||
|
|
|
|
||||||
@ -96,6 +94,15 @@ identifier f != prepare_to_commit;
|
|||||||
|
|
|
|
||||||
- resolve_undo_clear
|
- resolve_undo_clear
|
||||||
+ resolve_undo_clear_index
|
+ resolve_undo_clear_index
|
||||||
|
|
|
||||||
|
- cache_name_pos
|
||||||
|
+ index_name_pos
|
||||||
|
|
|
||||||
|
- update_main_cache_tree
|
||||||
|
+ cache_tree_update
|
||||||
|
|
|
||||||
|
- discard_cache
|
||||||
|
+ discard_index
|
||||||
)
|
)
|
||||||
(
|
(
|
||||||
+ &the_index,
|
+ &the_index,
|
||||||
@ -137,3 +144,14 @@ identifier f != prepare_to_commit;
|
|||||||
...
|
...
|
||||||
+ , NULL, NULL, NULL
|
+ , NULL, NULL, NULL
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@
|
||||||
|
expression O;
|
||||||
|
@@
|
||||||
|
- write_cache_as_tree
|
||||||
|
+ write_index_as_tree
|
||||||
|
(
|
||||||
|
- O,
|
||||||
|
+ O, &the_index, get_index_file(),
|
||||||
|
...
|
||||||
|
)
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
// "the_repository" simple cases
|
|
||||||
@@
|
|
||||||
@@
|
|
||||||
(
|
|
||||||
- read_cache
|
|
||||||
+ repo_read_index
|
|
||||||
)
|
|
||||||
(
|
|
||||||
+ the_repository,
|
|
||||||
...)
|
|
||||||
|
|
||||||
// "the_index" simple cases
|
|
||||||
@@
|
|
||||||
@@
|
|
||||||
(
|
|
||||||
- discard_cache
|
|
||||||
+ discard_index
|
|
||||||
|
|
|
||||||
- cache_name_pos
|
|
||||||
+ index_name_pos
|
|
||||||
)
|
|
||||||
(
|
|
||||||
+ &the_index,
|
|
||||||
...)
|
|
Loading…
Reference in New Issue
Block a user