On Thu, Dec 24, 2015 at 4:03 AM, Christian Couder <christian.couder@xxxxxxxxx> 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 <chriscool@xxxxxxxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html