Victoria Dye via GitGitGadget wrote: > In the process of working on tests for 'git stash' sparse index integration, > I found that the '--quiet' option in 'git stash' does not suppress all > non-error output when used with '--index'. Specifically, this comes from an > invocation of 'git reset' without the '--quiet' flag in 'reset_head()'. Upon > enabling that flag, though, I discovered that 1) 'reset' does not refresh > the index if '--quiet' is specified (as of [1]) and 2) 'git stash' needs the > index to be refreshed after the reset. > > This series aims to decouple the "suppress logging" and "skip index refresh" > behaviors in 'git reset --mixed', then allow 'stash' to internally use reset > with logs suppressed but index refresh enabled. This is accomplished by > introducing the '--[no-]refresh' option and 'reset.refresh' config setting > to 'git reset'. Additionally, in the spirit of backward-compatibility, > '--quiet' and/or 'reset.quiet=true' without any specified "refresh" > option/config will continue to skip 'refresh_index(...)'. > > There are also some minor updates to the advice that suggests skipping the > index refresh: > > * replace recommendation to use "--quiet" with "--no-refresh" > * use 'advise()' rather than 'printf()' > * rename the advice config setting from 'advice.resetQuiet' to to > 'advice.resetNoRefresh' > * suppress advice if '--quiet' is specified in 'reset' > > Finally, tests are added to 't7102-reset.sh' verifying whether index refresh > happens when expected and to 't3903-stash.sh' verifying that 'apply --quiet' > no longer prints extraneous logs. > > [1] https://lore.kernel.org/git/20181023190423.5772-2-peartben@xxxxxxxxx/ > > Thanks! -Victoria > > Victoria Dye (5): > reset: revise index refresh advice > reset: introduce --[no-]refresh option to --mixed > reset: replace '--quiet' with '--no-refresh' in performance advice > reset: suppress '--no-refresh' advice if logging is silenced > stash: make internal resets quiet and refresh index > > Documentation/config/advice.txt | 8 +-- > Documentation/git-reset.txt | 9 ++++ > advice.c | 2 +- > advice.h | 2 +- > builtin/reset.c | 21 ++++++-- > builtin/stash.c | 5 +- > t/t3903-stash.sh | 12 +++++ > t/t7102-reset.sh | 95 ++++++++++++++++++++++++++++++--- > 8 files changed, 134 insertions(+), 20 deletions(-) > > > base-commit: 1a4874565fa3b6668042216189551b98b4dc0b1b > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1170%2Fvdye%2Fstash%2Fmake-reset-quiet-v1 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1170/vdye/stash/make-reset-quiet-v1 > Pull-Request: https://github.com/gitgitgadget/git/pull/1170 It looks like I submitted without updating the cover letter title from a previous iteration (should be "Allow 'reset --quiet' to refresh the index, use 'reset --quiet' in 'stash' "). I'll update it in the next version along with any code changes. Sorry about that!