git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC/PATCH 4/8] dir: add add_untracked_cache()

From
Christian Couder <christian.couder@gmail.com>
Date
Dec 1, 2015, 20:31 UTC
Message-ID
<1449001899-18956-5-git-send-email-chriscool@tuxfamily.org>
In-Reply-To
<1449001899-18956-1-git-send-email-chriscool@tuxfamily.org>
This new function will be used in a later patch.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 builtin/update-index.c | 11 +----------
 dir.c                  | 14 ++++++++++++++
 dir.h                  |  1 +
 3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/builtin/update-index.c b/builtin/update-index.c
index b54ddc3..ec67d14 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -1114,16 +1114,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
 			if (untracked_cache == 2)
 				return 0;
 		}
-		if (!the_index.untracked) {
-			struct untracked_cache *uc = xcalloc(1, sizeof(*uc));
-			strbuf_init(&uc->ident, 100);
-			uc->exclude_per_dir = ".gitignore";
-			/* should be the same flags used by git-status */
-			uc->dir_flags = DIR_SHOW_OTHER_DIRECTORIES | DIR_HIDE_EMPTY_DIRECTORIES;
-			the_index.untracked = uc;
-		}
-		add_untracked_ident(the_index.untracked);
-		the_index.cache_changed |= UNTRACKED_CHANGED;
+		add_untracked_cache();
 		fprintf(stderr, _("Untracked cache enabled for '%s'\n"), get_git_work_tree());
 	} else if (!untracked_cache && the_index.untracked) {
 		the_index.untracked = NULL;
diff --git a/dir.c b/dir.c
index d2a8f06..0f7e293 100644
--- a/dir.c
+++ b/dir.c
@@ -1938,6 +1938,20 @@ void add_untracked_ident(struct untracked_cache *uc)
 	strbuf_addch(&uc->ident, 0);
 }
 
+void add_untracked_cache(void)
+{
+	if (!the_index.untracked) {
+		struct untracked_cache *uc = xcalloc(1, sizeof(*uc));
+		strbuf_init(&uc->ident, 100);
+		uc->exclude_per_dir = ".gitignore";
+		/* should be the same flags used by git-status */
+		uc->dir_flags = DIR_SHOW_OTHER_DIRECTORIES | DIR_HIDE_EMPTY_DIRECTORIES;
+		the_index.untracked = uc;
+	}
+	add_untracked_ident(the_index.untracked);
+	the_index.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 7b5855d..ee94c76 100644
--- a/dir.h
+++ b/dir.h
@@ -308,4 +308,5 @@ void free_untracked_cache(struct untracked_cache *);
 struct untracked_cache *read_untracked_extension(const void *data, unsigned long sz);
 void write_untracked_extension(struct strbuf *out, struct untracked_cache *untracked);
 void add_untracked_ident(struct untracked_cache *);
+void add_untracked_cache(void);
 #endif
-- 
2.6.3.391.g95a3a5c
Previous: Christian CouderNext: Christian Couder
Message 10 of 24 in “Untracked cache improvements”
  1. 0/8 Untracked cache improvementsChristian Couder, Dec 1, 2015
  2. 1/8 update-index: add untracked cache notificationsChristian Couder, Dec 1, 2015
  3. Duy NguyenDec 2, 2015
  4. Christian CouderDec 7, 2015
  5. Duy NguyenDec 7, 2015
  6. 2/8 update-index: add --test-untracked-cacheChristian Couder, Dec 1, 2015
  7. Duy NguyenDec 2, 2015
  8. Christian CouderDec 7, 2015
  9. 3/8 update-index: move 'uc' var declarationChristian Couder, Dec 1, 2015
  10. 4/8 dir: add add_untracked_cache()Christian Couder, Dec 1, 2015
  11. 5/8 dir: add remove_untracked_cache()Christian Couder, Dec 1, 2015
  12. 6/8 config: add core.untrackedCacheChristian Couder, Dec 1, 2015
  13. Torsten BögershausenDec 2, 2015
  14. Ævar Arnfjörð BjarmasonDec 2, 2015
  15. Torsten BögershausenDec 3, 2015
  16. Christian CouderDec 3, 2015
  17. Torsten BögershausenDec 4, 2015
  18. Christian CouderDec 4, 2015
  19. 7/8 update-index: prevent --untracked-cache from performing testsChristian Couder, Dec 1, 2015
  20. Duy NguyenDec 2, 2015
  21. Christian CouderDec 7, 2015
  22. 8/8 update-index: make core.untrackedCache a boolChristian Couder, Dec 1, 2015
  23. Torsten BögershausenDec 5, 2015
  24. Christian CouderDec 7, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.