diff mbox series

rebase: remove transitory rebase.useBuiltin setting & env

Message ID patch-1.1-df026b00b67-20210323T152302Z-avarab@gmail.com (mailing list archive)
State Accepted
Commit 39517a1c412cdff0578eeff9f031978f46ffb96c
Headers show
Series rebase: remove transitory rebase.useBuiltin setting & env | expand

Commit Message

Ævar Arnfjörð Bjarmason March 23, 2021, 3:23 p.m. UTC
Remove the rebase.useBuiltin setting and the now-obsolete
GIT_TEST_REBASE_USE_BUILTIN test flag.

This was left in place after my d03ebd411c6 (rebase: remove the
rebase.useBuiltin setting, 2019-03-18) to help anyone who'd used the
experimental flag and wanted to know that it was the default, or that
they should transition their test environment to use the builtin
rebase unconditionally.

It's been more than long enough for those users to get a headsup about
this. So remove all the scaffolding that was left inplace after
d03ebd411c6. I'm also removing the documentation entry, if anyone
still has this left in their configuration they can do some source
archaeology to figure out what it used to do, which makes more sense
than exposing every git user reading the documentation to this legacy
configuration switch.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/config/rebase.txt |  7 -------
 builtin/rebase.c                | 11 -----------
 t/t3400-rebase.sh               | 16 ----------------
 3 files changed, 34 deletions(-)

Comments

Junio C Hamano March 23, 2021, 8:42 p.m. UTC | #1
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:

> It's been more than long enough for those users to get a headsup about
> this. So remove all the scaffolding that was left inplace after
> d03ebd411c6. I'm also removing the documentation entry, if anyone
> still has this left in their configuration they can do some source
> archaeology to figure out what it used to do, which makes more sense
> than exposing every git user reading the documentation to this legacy
> configuration switch.

OK, this concludes the long journey of replacing the scripted "git
rebase" with its reimplementation in C by removing the last trace
of the former.

It would be nice to have Acks from those involved in the
reimplementation effort, to celebrate the occasion.

> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  Documentation/config/rebase.txt |  7 -------
>  builtin/rebase.c                | 11 -----------
>  t/t3400-rebase.sh               | 16 ----------------
>  3 files changed, 34 deletions(-)
>
> diff --git a/Documentation/config/rebase.txt b/Documentation/config/rebase.txt
> index 214f31b451f..8c979cb20f2 100644
> --- a/Documentation/config/rebase.txt
> +++ b/Documentation/config/rebase.txt
> @@ -1,10 +1,3 @@
> -rebase.useBuiltin::
> -	Unused configuration variable. Used in Git versions 2.20 and
> -	2.21 as an escape hatch to enable the legacy shellscript
> -	implementation of rebase. 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.
> -
Johannes Schindelin March 23, 2021, 8:52 p.m. UTC | #2
Hi Ævar,

On Tue, 23 Mar 2021, Ævar Arnfjörð Bjarmason wrote:

> Remove the rebase.useBuiltin setting and the now-obsolete
> GIT_TEST_REBASE_USE_BUILTIN test flag.
>
> This was left in place after my d03ebd411c6 (rebase: remove the
> rebase.useBuiltin setting, 2019-03-18) to help anyone who'd used the
> experimental flag and wanted to know that it was the default, or that
> they should transition their test environment to use the builtin
> rebase unconditionally.
>
> It's been more than long enough for those users to get a headsup about
> this. So remove all the scaffolding that was left inplace after
> d03ebd411c6. I'm also removing the documentation entry, if anyone
> still has this left in their configuration they can do some source
> archaeology to figure out what it used to do, which makes more sense
> than exposing every git user reading the documentation to this legacy
> configuration switch.
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

ACK!
Dscho

> ---
>  Documentation/config/rebase.txt |  7 -------
>  builtin/rebase.c                | 11 -----------
>  t/t3400-rebase.sh               | 16 ----------------
>  3 files changed, 34 deletions(-)
>
> diff --git a/Documentation/config/rebase.txt b/Documentation/config/rebase.txt
> index 214f31b451f..8c979cb20f2 100644
> --- a/Documentation/config/rebase.txt
> +++ b/Documentation/config/rebase.txt
> @@ -1,10 +1,3 @@
> -rebase.useBuiltin::
> -	Unused configuration variable. Used in Git versions 2.20 and
> -	2.21 as an escape hatch to enable the legacy shellscript
> -	implementation of rebase. 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.
> -
>  rebase.backend::
>  	Default backend to use for rebasing.  Possible choices are
>  	'apply' or 'merge'.  In the future, if the merge backend gains
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index de400f9a197..783b526f6e7 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -100,7 +100,6 @@ struct rebase_options {
>  	char *strategy, *strategy_opts;
>  	struct strbuf git_format_patch_opt;
>  	int reschedule_failed_exec;
> -	int use_legacy_rebase;
>  	int reapply_cherry_picks;
>  	int fork_point;
>  };
> @@ -1102,11 +1101,6 @@ static int rebase_config(const char *var, const char *value, void *data)
>  		return 0;
>  	}
>
> -	if (!strcmp(var, "rebase.usebuiltin")) {
> -		opts->use_legacy_rebase = !git_config_bool(var, value);
> -		return 0;
> -	}
> -
>  	if (!strcmp(var, "rebase.backend")) {
>  		return git_config_string(&opts->default_backend, var, value);
>  	}
> @@ -1441,11 +1435,6 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>  	gpg_sign = options.gpg_sign_opt ? "" : NULL;
>  	FREE_AND_NULL(options.gpg_sign_opt);
>
> -	if (options.use_legacy_rebase ||
> -	    !git_env_bool("GIT_TEST_REBASE_USE_BUILTIN", -1))
> -		warning(_("the rebase.useBuiltin support has been removed!\n"
> -			  "See its entry in 'git help config' for details."));
> -
>  	strbuf_reset(&buf);
>  	strbuf_addf(&buf, "%s/applying", apply_dir());
>  	if(file_exists(buf.buf))
> diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
> index 587b408063a..0bb88aa982b 100755
> --- a/t/t3400-rebase.sh
> +++ b/t/t3400-rebase.sh
> @@ -388,22 +388,6 @@ test_expect_success 'rebase--merge.sh and --show-current-patch' '
>  	)
>  '
>
> -test_expect_success 'rebase -c rebase.useBuiltin=false warning' '
> -	expected="rebase.useBuiltin support has been removed" &&
> -
> -	# Only warn when the legacy rebase is requested...
> -	test_must_fail git -c rebase.useBuiltin=false rebase 2>err &&
> -	test_i18ngrep "$expected" err &&
> -	test_must_fail env GIT_TEST_REBASE_USE_BUILTIN=false git rebase 2>err &&
> -	test_i18ngrep "$expected" err &&
> -
> -	# ...not when we would have used the built-in anyway
> -	test_must_fail git -c rebase.useBuiltin=true rebase 2>err &&
> -	test_must_be_empty err &&
> -	test_must_fail env GIT_TEST_REBASE_USE_BUILTIN=true git rebase 2>err &&
> -	test_must_be_empty err
> -'
> -
>  test_expect_success 'switch to branch checked out here' '
>  	git checkout main &&
>  	git rebase main main
> --
> 2.31.0.366.g75c23356abd
>
>
diff mbox series

Patch

diff --git a/Documentation/config/rebase.txt b/Documentation/config/rebase.txt
index 214f31b451f..8c979cb20f2 100644
--- a/Documentation/config/rebase.txt
+++ b/Documentation/config/rebase.txt
@@ -1,10 +1,3 @@ 
-rebase.useBuiltin::
-	Unused configuration variable. Used in Git versions 2.20 and
-	2.21 as an escape hatch to enable the legacy shellscript
-	implementation of rebase. 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.
-
 rebase.backend::
 	Default backend to use for rebasing.  Possible choices are
 	'apply' or 'merge'.  In the future, if the merge backend gains
diff --git a/builtin/rebase.c b/builtin/rebase.c
index de400f9a197..783b526f6e7 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -100,7 +100,6 @@  struct rebase_options {
 	char *strategy, *strategy_opts;
 	struct strbuf git_format_patch_opt;
 	int reschedule_failed_exec;
-	int use_legacy_rebase;
 	int reapply_cherry_picks;
 	int fork_point;
 };
@@ -1102,11 +1101,6 @@  static int rebase_config(const char *var, const char *value, void *data)
 		return 0;
 	}
 
-	if (!strcmp(var, "rebase.usebuiltin")) {
-		opts->use_legacy_rebase = !git_config_bool(var, value);
-		return 0;
-	}
-
 	if (!strcmp(var, "rebase.backend")) {
 		return git_config_string(&opts->default_backend, var, value);
 	}
@@ -1441,11 +1435,6 @@  int cmd_rebase(int argc, const char **argv, const char *prefix)
 	gpg_sign = options.gpg_sign_opt ? "" : NULL;
 	FREE_AND_NULL(options.gpg_sign_opt);
 
-	if (options.use_legacy_rebase ||
-	    !git_env_bool("GIT_TEST_REBASE_USE_BUILTIN", -1))
-		warning(_("the rebase.useBuiltin support has been removed!\n"
-			  "See its entry in 'git help config' for details."));
-
 	strbuf_reset(&buf);
 	strbuf_addf(&buf, "%s/applying", apply_dir());
 	if(file_exists(buf.buf))
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 587b408063a..0bb88aa982b 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -388,22 +388,6 @@  test_expect_success 'rebase--merge.sh and --show-current-patch' '
 	)
 '
 
-test_expect_success 'rebase -c rebase.useBuiltin=false warning' '
-	expected="rebase.useBuiltin support has been removed" &&
-
-	# Only warn when the legacy rebase is requested...
-	test_must_fail git -c rebase.useBuiltin=false rebase 2>err &&
-	test_i18ngrep "$expected" err &&
-	test_must_fail env GIT_TEST_REBASE_USE_BUILTIN=false git rebase 2>err &&
-	test_i18ngrep "$expected" err &&
-
-	# ...not when we would have used the built-in anyway
-	test_must_fail git -c rebase.useBuiltin=true rebase 2>err &&
-	test_must_be_empty err &&
-	test_must_fail env GIT_TEST_REBASE_USE_BUILTIN=true git rebase 2>err &&
-	test_must_be_empty err
-'
-
 test_expect_success 'switch to branch checked out here' '
 	git checkout main &&
 	git rebase main main