From: Torsten Bögershausen Date: Wed, 02 Dec 2015 07:12:57 GMT Subject: Re: [RFC/PATCH 6/8] config: add core.untrackedCache Message-ID: <565E99F9.2020906@web.de> In-Reply-To: <1449001899-18956-7-git-send-email-chriscool@tuxfamily.org> On 12/01/2015 09:31 PM, Christian Couder wrote: > When we know that mtime is fully supported by the environment, we > might want the untracked cache to be always used by default without > any mtime test or kernel version check being performed. I'm not sure if ever "we know" ? How can we know without testing ? I personaly can not say "I know" in all the different system I am using, so I always want to test and verify that the untracked cache is working, before I rely on it. > Also when we know that mtime is not supported by the environment, > for example because the repo is shared over a network file system, > then we might want 'git update-index --untracked-cache' to fail > immediately instead of it testing if it works (because it might > work on some systems using the repo over the network file system > but not others). Same here. > Signed-off-by: Christian Couder > --- > Documentation/config.txt | 10 ++++++++++ > Documentation/git-update-index.txt | 11 +++++++++-- > builtin/update-index.c | 28 ++++++++++++++++++---------- > cache.h | 1 + > config.c | 10 ++++++++++ > contrib/completion/git-completion.bash | 1 + > dir.c | 2 +- > environment.c | 1 + > wt-status.c | 9 +++++++++ > 9 files changed, 60 insertions(+), 13 deletions(-) > > diff --git a/Documentation/config.txt b/Documentation/config.txt > index b4b0194..bf176ff 100644 > --- a/Documentation/config.txt > +++ b/Documentation/config.txt > @@ -308,6 +308,16 @@ core.trustctime:: > crawlers and some backup systems). > See linkgit:git-update-index[1]. True by default. > > +core.untrackedCache:: > + If unset or set to 'default' or 'check', untracked cache will > + not be enabled by default and when > + 'update-index --untracked-cache' is called, Git will test if > + mtime is working properly before enabling it. If set to false, > + Git will refuse to enable untracked cache even if > + '--force-untracked-cache' is used. If set to true, Git will > + blindly enabled untracked cache by default without testing if > + it works. See linkgit:git-update-index[1]. > + Please no. The command line option should always be able to overwrite any settings from a config file. Sorry, I may missing the big picture here. What exactly should be achieved ? A config variable that should ask Git to always try to use the untracked cache ? Or a config variable that tells Git to never use the untracked cache ? Or a combination ? core.untrackedCache:: false: Never use the untracked cache ? true: Always try to use the untracked cache ? Try means: probe, and if the probing fails, record that if fails in the index, for this hostname/os/kernel/path (Don't remember all the details) unset: As today,