On Tue, Nov 15, 2022 at 4:19 PM Rudy Rigot via GitGitGadget <gitgitgadget@xxxxxxxxx> wrote: > Improve the advice displayed when `git status` is slow because > of excessive numbers of untracked files. Update the `git status` > man page to explain the various configuration options. > > Signed-off-by: Rudy Rigot <rudy.rigot@xxxxxxxxx> > --- > Here is version 6 for this patch. > > Changes since v5: > > * End of sentence for fsmonitor case was changed to "but the results > were cached, and subsequent runs may be faster." > * Except for that, mostly style and doc fixes. Thanks, I think v6 addresses all my earlier review comments. Just one or two notes below... > +test_expect_success setup ' > + git checkout -b test && > + cat >.gitignore <<-\EOF && > + /actual > + /expected > + /out > + EOF > + git add .gitignore && > + git commit -m "Add .gitignore" > +' I suppose I wasn't paying close enough attention earlier, but I see now that this is creating a branch named "test". If I remove the `git checkout -b test` line entirely and change "test" to "master" in the "expected" files, all the tests pass just fine. So, it's not apparent why you need to create a specially-named branch here rather than simply accepting the default branch name. The reason I bring this up is that unnecessary code, whether in tests or elsewhere, can confuse future readers (and reviewers, such as myself) into wondering if something subtle is going on which the reader is overlooking. (This is very much the same sort of concern as when I asked in an earlier review why the conditions in an `if` got switched around from the way they were in the original code; such unnecessary changes can confuse future readers.) If the answer is that you wanted to avoid the term "master", then an alternative would have been to override the default branch name at the top of the script: GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME That said, this is minor, and I'm not keen on eating up more of your time or reviewer time, so I doubt this is worth a reroll. > +test_expect_success 'when core.untrackedCache and fsmonitor are unset' ' > + test_might_fail git config --unset-all core.untrackedCache && > + test_might_fail git config --unset-all core.fsmonitor && When I suggested the above code, it had slipped my mind that we have a test_unconfig() function in t/test-lib-functions.sh which does this more concisely: test_unconfig core.untrackedCache && test_unconfig core.fsmonitor && But what you have here in v6 is good enough; it's not worth wasting your time or reviewer time rerolling just to make this change. I mention it merely for future reference.