path: root/t
diff options
authorThomas Gummerer <>2020-03-03 17:46:13 (GMT)
committerJunio C Hamano <>2020-03-05 20:50:28 (GMT)
commit8a2cd3f5123ac822fd64ca8efc4f84e122a1edb3 (patch)
treed76ddb3ec284195b4e62814f5346ddfc732d116e /t
parentb0c7362d19a83d45798085f26d98e39c9268e7e5 (diff)
stash: remove the stash.useBuiltin setting
Remove the stash.useBuiltin setting which was added as an escape hatch to disable the builtin version of stash first released with Git 2.22. Carrying the legacy version is a maintenance burden, and has in fact become out of date failing a test since the 2.23 release, without anyone noticing until now. So users would be getting a hint to fall back to a potentially buggy version of the tool. We used to shell out to git config to get the useBuiltin configuration to avoid changing any global state before spawning legacy-stash. However that is no longer necessary, so just use the 'git_config' function to get the setting instead. Similar to what we've done in d03ebd411c ("rebase: remove the rebase.useBuiltin setting", 2019-03-18), where we remove the corresponding setting for rebase, we leave the documentation in place, so people can refer back to it when searching for it online, and so we can refer to it in the commit message. Signed-off-by: Thomas Gummerer <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't')
2 files changed, 14 insertions, 4 deletions
diff --git a/t/README b/t/README
index 9afd61e..369e3a9 100644
--- a/t/README
+++ b/t/README
@@ -393,10 +393,6 @@ the --no-sparse command-line argument.
GIT_TEST_PRELOAD_INDEX=<boolean> exercises the preload-index code path
by overriding the minimum number of cache entries required per thread.
-GIT_TEST_STASH_USE_BUILTIN=<boolean>, when false, disables the
-built-in version of git-stash. See 'stash.useBuiltin' in
GIT_TEST_ADD_I_USE_BUILTIN=<boolean>, when true, enables the
built-in version of git add -i. See 'add.interactive.useBuiltin' in
diff --git a/t/ b/t/
index ea56e85..b84d55a 100755
--- a/t/
+++ b/t/
@@ -1285,4 +1285,18 @@ 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