dir: add remove_untracked_cache()
authorChristian Couder <christian.couder@gmail.com>
Sun, 24 Jan 2016 15:28:20 +0000 (16:28 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 Jan 2016 20:40:11 +0000 (12:40 -0800)
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>
builtin/update-index.c
dir.c
dir.h
index 5f8630c61b016a53468516c7ed4aa5e1641c3dd5..d90154c59a99c5da4b853f6440cf007dd862841c 100644 (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"));
        }
 
diff --git a/dir.c b/dir.c
index 31eae37f5bfcdc076a4c2ce4483a15bbe880b37b..0d069c90546e9508c6226f6c4c018b09d1e2c229 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -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)
diff --git a/dir.h b/dir.h
index cfd3636bfec7c2f8f3b3b705f2c6a2c7a1e291a5..a3dacdb555c2231e22a1e5fd5d4d8d35e920417f 100644 (file)
--- a/dir.h
+++ b/dir.h
@@ -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