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

[PATCH v2 01/10] update-index: use enum for untracked cache options

From
Christian Couder <christian.couder@gmail.com>
Date
Dec 15, 2015, 16:28 UTC
Message-ID
<1450196907-17805-2-git-send-email-chriscool@tuxfamily.org>
In-Reply-To
<1450196907-17805-1-git-send-email-chriscool@tuxfamily.org>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 builtin/update-index.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/builtin/update-index.c b/builtin/update-index.c
index 7431938..2430a68 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -35,6 +35,14 @@ static int mark_skip_worktree_only;
 #define UNMARK_FLAG 2
 static struct strbuf mtime_dir = STRBUF_INIT;
 
+/* Untracked cache mode */
+enum uc_mode {
+	UC_UNSPECIFIED = -1,
+	UC_DISABLE = 0,
+	UC_ENABLE,
+	UC_FORCE
+};
+
 __attribute__((format (printf, 1, 2)))
 static void report(const char *fmt, ...)
 {
@@ -902,7 +910,7 @@ static int reupdate_callback(struct parse_opt_ctx_t *ctx,
 int cmd_update_index(int argc, const char **argv, const char *prefix)
 {
 	int newfd, entries, has_errors = 0, line_termination = '\n';
-	int untracked_cache = -1;
+	enum uc_mode untracked_cache = UC_UNSPECIFIED;
 	int read_from_stdin = 0;
 	int prefix_length = prefix ? strlen(prefix) : 0;
 	int preferred_index_format = 0;
@@ -997,7 +1005,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
 		OPT_BOOL(0, "untracked-cache", &untracked_cache,
 			N_("enable/disable untracked cache")),
 		OPT_SET_INT(0, "force-untracked-cache", &untracked_cache,
-			    N_("enable untracked cache without testing the filesystem"), 2),
+			    N_("enable untracked cache without testing the filesystem"), UC_FORCE),
 		OPT_END()
 	};
 
@@ -1104,10 +1112,10 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
 		the_index.split_index = NULL;
 		the_index.cache_changed |= SOMETHING_CHANGED;
 	}
-	if (untracked_cache > 0) {
+	if (untracked_cache > UC_DISABLE) {
 		struct untracked_cache *uc;
 
-		if (untracked_cache < 2) {
+		if (untracked_cache < UC_FORCE) {
 			setup_work_tree();
 			if (!test_if_untracked_cache_is_supported())
 				return 1;
@@ -1122,7 +1130,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
 		}
 		add_untracked_ident(the_index.untracked);
 		the_index.cache_changed |= UNTRACKED_CHANGED;
-	} else if (!untracked_cache && the_index.untracked) {
+	} else if (untracked_cache == UC_DISABLE && the_index.untracked) {
 		the_index.untracked = NULL;
 		the_index.cache_changed |= UNTRACKED_CHANGED;
 	}
-- 
2.6.3.479.g8eb29d4
Previous: Christian CouderNext: Torsten Bögershausen
Message 2 of 18 in “Untracked cache improvements”
  1. 00/10 Untracked cache improvementsChristian Couder, Dec 15, 2015
  2. 01/10 update-index: use enum for untracked cache optionsChristian Couder, Dec 15, 2015
  3. Torsten BögershausenDec 17, 2015
  4. 02/10 update-index: add --test-untracked-cacheChristian Couder, Dec 15, 2015
  5. David TurnerDec 17, 2015
  6. 03/10 update-index: add untracked cache notificationsChristian Couder, Dec 15, 2015
  7. 04/10 update-index: move 'uc' var declarationChristian Couder, Dec 15, 2015
  8. 05/10 dir: add add_untracked_cache()Christian Couder, Dec 15, 2015
  9. 06/10 dir: add remove_untracked_cache()Christian Couder, Dec 15, 2015
  10. 07/10 dir: free untracked cache when removing itChristian Couder, Dec 15, 2015
  11. Junio C HamanoDec 15, 2015
  12. 08/10 config: add core.untrackedCacheChristian Couder, Dec 15, 2015
  13. 09/10 t7063: add tests for core.untrackedCacheChristian Couder, Dec 15, 2015
  14. 10/10 dir: do not use untracked cache ident anymoreChristian Couder, Dec 15, 2015
  15. Junio C HamanoDec 15, 2015
  16. Christian CouderDec 17, 2015
  17. Junio C HamanoDec 17, 2015
  18. Christian CouderDec 18, 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.