From: "Victoria Dye via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, phillip.wood123@gmail.com,
Victoria Dye <vdye@github.com>, Victoria Dye <vdye@github.com>
Subject: [PATCH v2 1/3] reset: do not make '--quiet' disable index refresh
Date: Wed, 23 Mar 2022 18:17:58 +0000 [thread overview]
Message-ID: <1b607e0610b6535b2cc2bbda22eb57c4bf2d11e7.1648059480.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1184.v2.git.1648059480.gitgitgadget@gmail.com>
From: Victoria Dye <vdye@github.com>
Update '--quiet' to no longer implicitly skip refreshing the index in a
mixed reset. Users now have the ability to explicitly disable refreshing the
index with the '--no-refresh' option, so they no longer need to use
'--quiet' to do so. Moreover, we explicitly remove the refresh-skipping
behavior from '--quiet' because it is completely unrelated to the stated
purpose of the option: "Be quiet, only report errors."
Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Victoria Dye <vdye@github.com>
---
Documentation/git-reset.txt | 5 +----
builtin/reset.c | 9 +--------
t/t7102-reset.sh | 32 +++++---------------------------
3 files changed, 7 insertions(+), 39 deletions(-)
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index 89ddc85c2e4..bc1646c3016 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -114,10 +114,7 @@ OPTIONS
--no-refresh::
Proactively refresh the index after a mixed reset. If unspecified, the
behavior falls back on the `reset.refresh` config option. If neither
- `--[no-]refresh` nor `reset.refresh` are set, the default behavior is
- decided by the `--[no-]quiet` option and/or `reset.quiet` config.
- If `--quiet` is specified or `reset.quiet` is set with no command-line
- "quiet" setting, refresh is disabled. Otherwise, refresh is enabled.
+ `--[no-]refresh` nor `reset.refresh` are set, refresh is enabled.
--pathspec-from-file=<file>::
Pathspec is passed in `<file>` instead of commandline args. If
diff --git a/builtin/reset.c b/builtin/reset.c
index c8a356ec5b0..1804d0eeb84 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -392,7 +392,7 @@ static int git_reset_config(const char *var, const char *value, void *cb)
int cmd_reset(int argc, const char **argv, const char *prefix)
{
int reset_type = NONE, update_ref_status = 0, quiet = 0;
- int refresh = -1;
+ int refresh = 1;
int patch_mode = 0, pathspec_file_nul = 0, unborn;
const char *rev, *pathspec_from_file = NULL;
struct object_id oid;
@@ -430,13 +430,6 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
PARSE_OPT_KEEP_DASHDASH);
parse_args(&pathspec, argv, prefix, patch_mode, &rev);
- /*
- * If refresh is completely unspecified (either by config or by command
- * line option), decide based on 'quiet'.
- */
- if (refresh < 0)
- refresh = !quiet;
-
if (pathspec_from_file) {
if (patch_mode)
die(_("options '%s' and '%s' cannot be used together"), "--pathspec-from-file", "--patch");
diff --git a/t/t7102-reset.sh b/t/t7102-reset.sh
index 1dc3911a060..8b62bb39b3d 100755
--- a/t/t7102-reset.sh
+++ b/t/t7102-reset.sh
@@ -485,25 +485,12 @@ test_reset_refreshes_index () {
}
test_expect_success '--mixed refreshes the index' '
- # Verify default behavior (with no config settings or command line
- # options)
- test_reset_refreshes_index
-'
-test_expect_success '--mixed --[no-]quiet sets default refresh behavior' '
- # Verify that --[no-]quiet and `reset.quiet` (without --[no-]refresh)
- # determine refresh behavior
-
- # Config setting
- ! test_reset_refreshes_index "-c reset.quiet=true" &&
- test_reset_refreshes_index "-c reset.quiet=false" &&
-
- # Command line option
- ! test_reset_refreshes_index "" --quiet &&
- test_reset_refreshes_index "" --no-quiet &&
+ # Verify default behavior (without --[no-]refresh or reset.refresh)
+ test_reset_refreshes_index &&
- # Command line option overrides config setting
- ! test_reset_refreshes_index "-c reset.quiet=false" --quiet &&
- test_reset_refreshes_index "-c reset.refresh=true" --no-quiet
+ # With --quiet & reset.quiet
+ test_reset_refreshes_index "-c reset.quiet=true" &&
+ test_reset_refreshes_index "" --quiet
'
test_expect_success '--mixed --[no-]refresh sets refresh behavior' '
@@ -522,15 +509,6 @@ test_expect_success '--mixed --[no-]refresh sets refresh behavior' '
! test_reset_refreshes_index "-c reset.refresh=true" --no-refresh
'
-test_expect_success '--mixed --refresh overrides --quiet refresh behavior' '
- # Verify that *both* --refresh and `reset.refresh` override the
- # default non-refresh behavior of --quiet
- test_reset_refreshes_index "" "--quiet --refresh" &&
- test_reset_refreshes_index "-c reset.quiet=true" --refresh &&
- test_reset_refreshes_index "-c reset.refresh=true" --quiet &&
- test_reset_refreshes_index "-c reset.refresh=true -c reset.quiet=true"
-'
-
test_expect_success '--mixed preserves skip-worktree' '
echo 123 >>file2 &&
git add file2 &&
--
gitgitgadget
next prev parent reply other threads:[~2022-03-23 18:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-21 20:34 [PATCH 0/4] reset: make --no-refresh the only way to skip index refresh Victoria Dye via GitGitGadget
2022-03-21 20:34 ` [PATCH 1/4] reset: do not make '--quiet' disable " Victoria Dye via GitGitGadget
2022-03-23 15:59 ` Phillip Wood
2022-03-23 16:52 ` Victoria Dye
2022-03-21 20:34 ` [PATCH 2/4] reset: deprecate 'reset.quiet' config option Victoria Dye via GitGitGadget
2022-03-23 16:00 ` Phillip Wood
2022-03-21 20:34 ` [PATCH 3/4] reset: deprecate 'reset.refresh' " Victoria Dye via GitGitGadget
2022-03-23 16:02 ` Phillip Wood
2022-03-23 17:19 ` Victoria Dye
2022-03-21 20:34 ` [PATCH 4/4] reset: deprecate '--refresh', leaving only '--no-refresh' Victoria Dye via GitGitGadget
2022-03-23 16:02 ` Phillip Wood
2022-03-23 16:58 ` Victoria Dye
2022-03-23 18:17 ` [PATCH v2 0/3] reset: make --no-refresh the only way to skip index refresh Victoria Dye via GitGitGadget
2022-03-23 18:17 ` Victoria Dye via GitGitGadget [this message]
2022-03-23 18:17 ` [PATCH v2 2/3] reset: remove 'reset.quiet' config option Victoria Dye via GitGitGadget
2022-03-23 18:18 ` [PATCH v2 3/3] reset: remove 'reset.refresh' " Victoria Dye via GitGitGadget
2022-03-23 19:26 ` [PATCH v2 0/3] reset: make --no-refresh the only way to skip index refresh Derrick Stolee
2022-03-23 21:41 ` Junio C Hamano
2022-03-24 11:11 ` Phillip Wood
2022-03-24 17:13 ` Junio C Hamano
2022-03-24 17:33 ` Junio C Hamano
2022-03-24 18:01 ` Victoria Dye
2022-03-24 20:36 ` Junio C Hamano
2022-03-25 15:04 ` Derrick Stolee
2022-03-25 16:35 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1b607e0610b6535b2cc2bbda22eb57c4bf2d11e7.1648059480.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood123@gmail.com \
--cc=vdye@github.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).