From: Duy Nguyen Date: Thu, 24 Dec 2015 10:01:50 GMT Subject: Re: [PATCH v3 04/11] update-index: add untracked cache notifications Message-ID: In-Reply-To: <1450904639-25592-5-git-send-email-chriscool@tuxfamily.org> On Thu, Dec 24, 2015 at 4:03 AM, Christian Couder wrote: > Attempting to flip the untracked-cache feature on for a random index > file with > > cd /random/unrelated/place > git --git-dir=/somewhere/else/.git update-index --untracked-cache > > would not work as you might expect. Because flipping the feature on > in the index also records the location of the corresponding working > tree (/random/unrelated/place in the above example), when the index > is subsequently used to keep track of files in the working tree in > /somewhere/else, the feature is disabled. > > With this patch "git update-index --[test-]untracked-cache" tells the > user in which directory tests are performed. This makes it easy to > spot any problem. > > Also in verbose mode, let's tell the user when the cache is enabled > or disabled. > > Signed-off-by: Christian Couder > --- > builtin/update-index.c | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/builtin/update-index.c b/builtin/update-index.c > index 62222dd..c91e695 100644 > --- a/builtin/update-index.c > +++ b/builtin/update-index.c > @@ -130,7 +130,7 @@ static int test_if_untracked_cache_is_supported(void) > if (!mkdtemp(mtime_dir.buf)) > die_errno("Could not make temporary directory"); > > - fprintf(stderr, _("Testing ")); > + fprintf(stderr, _("Testing mtime in '%s' "), xgetcwd()); > atexit(remove_test_directory); > xstat_mtime_dir(&st); > fill_stat_data(&base, &st); > @@ -1135,10 +1135,16 @@ 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 == UC_DISABLE && the_index.untracked) { > - free_untracked_cache(the_index.untracked); > - the_index.untracked = NULL; > - the_index.cache_changed |= UNTRACKED_CHANGED; > + if (verbose) > + printf(_("Untracked cache enabled for '%s'\n"), get_git_work_tree()); Nit. If you use report(), then you can skip "if (verbose)" because it's done inside report(). > + } 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; > + } > + if (verbose) > + printf(_("Untracked cache disabled\n")); > } > > if (active_cache_changed) { > -- > 2.7.0.rc2.11.g68ccdd4 > -- Duy