From 6de07229ac1dd269e12f941f701432b61dc43ad3 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 27 Jan 2022 22:03:48 +0000 Subject: [PATCH 1/4] git-sh-setup: remove remnant bits referring to `git-legacy-stash` In 8a2cd3f5123 (stash: remove the stash.useBuiltin setting, 2020-03-03), we removed `git-legacy-stash.sh`. But `git-sh-setup.sh` somehow still thinks about it. Let's just not. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- git-sh-setup.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/git-sh-setup.sh b/git-sh-setup.sh index b93f39288c..d92df37e99 100644 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -101,7 +101,6 @@ $LONG_USAGE")" case "$1" in -h) echo "$LONG_USAGE" - case "$0" in *git-legacy-stash) exit 129;; esac exit esac fi From 5d4dc38bfd484fda1944f131189f7e53abb90c1d Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 27 Jan 2022 22:03:49 +0000 Subject: [PATCH 2/4] add: remove support for `git-legacy-stash` In 90a6bb98d11 (legacy stash -p: respect the add.interactive.usebuiltin setting, 2019-12-21), we added support to use the built-in `add -p` from the scripted `stash -p`. In 8a2cd3f5123 (stash: remove the stash.useBuiltin setting, 2020-03-03), we retired the scripted `stash` (including the scripted `stash -p`). Therefore this support is no longer necessary. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- builtin/add.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/builtin/add.c b/builtin/add.c index 84dff3e796..3ffb86a433 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -32,7 +32,6 @@ static int add_renormalize; static int pathspec_file_nul; static int include_sparse; static const char *pathspec_from_file; -static int legacy_stash_p; /* support for the scripted `git stash` */ struct update_callback_data { int flags; @@ -388,8 +387,6 @@ static struct option builtin_add_options[] = { N_("override the executable bit of the listed files")), OPT_HIDDEN_BOOL(0, "warn-embedded-repo", &warn_on_embedded_repo, N_("warn when adding an embedded repository")), - OPT_HIDDEN_BOOL(0, "legacy-stash-p", &legacy_stash_p, - N_("backend for `git stash -p`")), OPT_PATHSPEC_FROM_FILE(&pathspec_from_file), OPT_PATHSPEC_FILE_NUL(&pathspec_file_nul), OPT_END(), @@ -512,17 +509,6 @@ int cmd_add(int argc, const char **argv, const char *prefix) die(_("options '%s' and '%s' cannot be used together"), "--pathspec-from-file", "--interactive/--patch"); exit(interactive_add(argv + 1, prefix, patch_interactive)); } - if (legacy_stash_p) { - struct pathspec pathspec; - - parse_pathspec(&pathspec, 0, - PATHSPEC_PREFER_FULL | - PATHSPEC_SYMLINK_LEADING_PATH | - PATHSPEC_PREFIX_ORIGIN, - prefix, argv); - - return run_add_interactive(NULL, "--patch=stash", &pathspec); - } if (edit_interactive) { if (pathspec_from_file) From deeaf5ee077802f3e5bb4f52b4f14e61bdbe2a8e Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 27 Jan 2022 22:03:50 +0000 Subject: [PATCH 3/4] stash: remove documentation for `stash.useBuiltin` In 8a2cd3f5123 (stash: remove the stash.useBuiltin setting, 2020-03-03), we removed the setting, and for a couple of major versions, we still documented the setting, telling users that it is gone. We can now safely remove even the documentation. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- Documentation/config/stash.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Documentation/config/stash.txt b/Documentation/config/stash.txt index 9ed775281f..b9f609ed76 100644 --- a/Documentation/config/stash.txt +++ b/Documentation/config/stash.txt @@ -1,10 +1,3 @@ -stash.useBuiltin:: - Unused configuration variable. Used in Git versions 2.22 to - 2.26 as an escape hatch to enable the legacy shellscript - implementation of stash. Now the built-in rewrite of it in C - is always used. Setting this will emit a warning, to alert any - remaining users that setting this now does nothing. - stash.showIncludeUntracked:: If this is set to true, the `git stash show` command will show the untracked files of a stash entry. Defaults to false. See From e9b272e4c1cb9742452ad44d42cedd407b6b5de2 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 27 Jan 2022 22:03:51 +0000 Subject: [PATCH 4/4] stash: stop warning about the obsolete `stash.useBuiltin` config setting In 8a2cd3f5123 (stash: remove the stash.useBuiltin setting, 2020-03-03), we removed support for `stash.useBuiltin`, but left a warning in its place. After almost two years, and several major versions, it is time to remove even that warning. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- builtin/stash.c | 10 ---------- t/t3903-stash.sh | 15 --------------- 2 files changed, 25 deletions(-) diff --git a/builtin/stash.c b/builtin/stash.c index 1ef2017c59..25793b5a75 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -788,7 +788,6 @@ static int list_stash(int argc, const char **argv, const char *prefix) static int show_stat = 1; static int show_patch; static int show_include_untracked; -static int use_legacy_stash; static int git_stash_config(const char *var, const char *value, void *cb) { @@ -804,10 +803,6 @@ static int git_stash_config(const char *var, const char *value, void *cb) show_include_untracked = git_config_bool(var, value); return 0; } - if (!strcmp(var, "stash.usebuiltin")) { - use_legacy_stash = !git_config_bool(var, value); - return 0; - } return git_diff_basic_config(var, value, cb); } @@ -1778,11 +1773,6 @@ int cmd_stash(int argc, const char **argv, const char *prefix) git_config(git_stash_config, NULL); - if (use_legacy_stash || - !git_env_bool("GIT_TEST_STASH_USE_BUILTIN", -1)) - warning(_("the stash.useBuiltin support has been removed!\n" - "See its entry in 'git help config' for details.")); - argc = parse_options(argc, argv, prefix, options, git_stash_usage, PARSE_OPT_KEEP_UNKNOWN | PARSE_OPT_KEEP_DASHDASH); diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 686747e55a..b149e2af44 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -1272,7 +1272,6 @@ test_expect_success 'stash works when user.name and user.email are not set' ' >2 && git add 2 && test_config user.useconfigonly true && - test_config stash.usebuiltin true && ( sane_unset GIT_AUTHOR_NAME && sane_unset GIT_AUTHOR_EMAIL && @@ -1323,20 +1322,6 @@ test_expect_success 'stash handles skip-worktree entries nicely' ' git rev-parse --verify refs/stash:A.t ' -test_expect_success 'stash -c stash.useBuiltin=false warning ' ' - expected="stash.useBuiltin support has been removed" && - - git -c stash.useBuiltin=false stash 2>err && - test_i18ngrep "$expected" err && - env GIT_TEST_STASH_USE_BUILTIN=false git stash 2>err && - test_i18ngrep "$expected" err && - - git -c stash.useBuiltin=true stash 2>err && - test_must_be_empty err && - env GIT_TEST_STASH_USE_BUILTIN=true git stash 2>err && - test_must_be_empty err -' - test_expect_success 'git stash succeeds despite directory/file change' ' test_create_repo directory_file_switch_v1 && (