Re: [PATCH 1/4] t3430: modernize one-shot "VAR=val shell-func" invocation
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 22, 2024, 18:24 UTC
- Message-ID
- <xmqqv80xb7z1.fsf@gitster.g>
- In-Reply-To
- <20240722065915.80760-2-ericsunshine@charter.net>
Eric Sunshine <ericsunshine@charter.net> writes:
Show 5 quoted lines
> A common way to work around the problem is to wrap a subshell around the > variable assignments and function call, thus ensuring that the > assignments are short-lived. However, these days, a more ergonomic > approach is to employ test_env() which is tailor-made for this specific > use-case.
OK. I am not sure if that is "ergonomic", though. An explict subshell has a good documentation value that even though we call test_commit there, we do not care about the committer timestamps subsequent commits would record, and we do not mind losing the effect of test_tick from this invocation of test_commit. Hiding all of that behind test_env loses the documentation value.
We could resurrect it by explicitly passing "--no-tick" to test_commit, though ;-).
Show 20 quoted lines
> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> > --- > t/t3430-rebase-merges.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/t/t3430-rebase-merges.sh b/t/t3430-rebase-merges.sh > index 36ca126bcd..e851ede4f9 100755 > --- a/t/t3430-rebase-merges.sh > +++ b/t/t3430-rebase-merges.sh > @@ -392,8 +392,8 @@ test_expect_success 'refuse to merge ancestors of HEAD' ' > > test_expect_success 'root commits' ' > git checkout --orphan unrelated && > - (GIT_AUTHOR_NAME="Parsnip" GIT_AUTHOR_EMAIL="root@example.com" \ > - test_commit second-root) && > + test_env GIT_AUTHOR_NAME="Parsnip" GIT_AUTHOR_EMAIL="root@example.com" \ > + test_commit second-root && > test_commit third-root && > cat >script-from-scratch <<-\EOF && > pick third-root