It is nice to just be able to test if untracked cache is
supported without enabling it.

Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 Documentation/git-update-index.txt | 9 ++++++++-
 builtin/update-index.c             | 8 ++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-update-index.txt 
b/Documentation/git-update-index.txt
index 3df9c26..0ff7396 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -17,7 +17,7 @@ SYNOPSIS
             [--[no-]assume-unchanged]
             [--[no-]skip-worktree]
             [--ignore-submodules]
-            [--[no-|force-]untracked-cache]
+            [--[no-|test-|force-]untracked-cache]
             [--really-refresh] [--unresolve] [--again | -g]
             [--info-only] [--index-info]
             [-z] [--stdin] [--index-version <n>]
@@ -179,6 +179,13 @@ may not support it yet.
        system must change `st_mtime` field of a directory if files
        are added or deleted in that directory.
 
+--test-untracked-cache::
+       Only perform tests on the working directory to make sure
+       untracked cache can be used. You have to manually enable
+       untracked cache using `--force-untracked-cache` (or
+       `--untracked-cache` but this will run the tests again)
+       afterwards if you really want to use it.
+
 --force-untracked-cache::
        For safety, `--untracked-cache` performs tests on the working
        directory to make sure untracked cache can be used. These
diff --git a/builtin/update-index.c b/builtin/update-index.c
index e568acc..b7b5108 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -996,8 +996,10 @@ int cmd_update_index(int argc, const char **argv, const 
char *prefix)
                        N_("enable or disable split index")),
                OPT_BOOL(0, "untracked-cache", &untracked_cache,
                        N_("enable/disable untracked cache")),
+               OPT_SET_INT(0, "test-untracked-cache", &untracked_cache,
+                           N_("test if the filesystem supports untracked 
cache"), 2),
                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"), 3),
                OPT_END()
        };
 
@@ -1107,10 +1109,12 @@ int cmd_update_index(int argc, const char **argv, const 
char *prefix)
        if (untracked_cache > 0) {
                struct untracked_cache *uc;
 
-               if (untracked_cache < 2) {
+               if (untracked_cache < 3) {
                        setup_work_tree();
                        if (!test_if_untracked_cache_is_supported())
                                return 1;
+                       if (untracked_cache == 2)
+                               return 0;
                }
                if (!the_index.untracked) {
                        uc = xcalloc(1, sizeof(*uc));
-- 
2.6.3.391.g95a3a5c

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to