dir: add remove_untracked_cache()

Factor out code into remove_untracked_cache(), which will be used
in a later commit.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2016-01-24 16:28:20 +01:00 committed by Junio C Hamano
parent 4a4ca4796d
commit 07b29bfd8d
3 changed files with 11 additions and 5 deletions

View File

@ -1126,11 +1126,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
add_untracked_cache(&the_index);
report(_("Untracked cache enabled for '%s'"), get_git_work_tree());
} else if (untracked_cache == UC_DISABLE) {
if (the_index.untracked) {
free_untracked_cache(the_index.untracked);
the_index.untracked = NULL;
the_index.cache_changed |= UNTRACKED_CHANGED;
}
remove_untracked_cache(&the_index);
report(_("Untracked cache disabled"));
}

9
dir.c
View File

@ -1956,6 +1956,15 @@ void add_untracked_cache(struct index_state *istate)
istate->cache_changed |= UNTRACKED_CHANGED;
}
void remove_untracked_cache(struct index_state *istate)
{
if (istate->untracked) {
free_untracked_cache(istate->untracked);
istate->untracked = NULL;
istate->cache_changed |= UNTRACKED_CHANGED;
}
}
static struct untracked_cache_dir *validate_untracked_cache(struct dir_struct *dir,
int base_len,
const struct pathspec *pathspec)

1
dir.h
View File

@ -309,4 +309,5 @@ struct untracked_cache *read_untracked_extension(const void *data, unsigned long
void write_untracked_extension(struct strbuf *out, struct untracked_cache *untracked);
void add_untracked_ident(struct untracked_cache *);
void add_untracked_cache(struct index_state *istate);
void remove_untracked_cache(struct index_state *istate);
#endif