Re: [PATCH 1/4] t3430: modernize one-shot "VAR=val shell-func" invocation
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jul 26, 2024, 06:30 UTC
- Message-ID
- <CAPig+cSYDM-B4wLWX2euAEVH2FutOeFy4sTRJnWk_Qm7Y7so3g@mail.gmail.com>
- In-Reply-To
- <xmqqv80xb7z1.fsf@gitster.g>
On Mon, Jul 22, 2024 at 2:24 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 16 quoted lines
> Eric Sunshine <ericsunshine@charter.net> writes: > > 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 ;-).
Your mention of `test_commit` reminded me that, these days, it accepts an --author switch which seems tailor-made for what this chunk of code in this test is actually checking: namely, that the root commit of the orphan branch has "Parsnip <root@example.com>" as its author. So an even simpler approach is to change it to:
test_commit --author "Parsnip <root@example.com>" second-root &&
That conveys precisely that the test is interested in overriding the author for that one commit.