All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Taylor Blau <me@ttaylorr.com>
Cc: Eric Sunshine <sunshine@sunshineco.com>,
	git@vger.kernel.org, Derrick Stolee <derrickstolee@github.com>
Subject: Re: [PATCH 2/5] t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
Date: Fri, 21 Jul 2023 12:02:37 -0700	[thread overview]
Message-ID: <xmqqfs5hulyq.fsf@gitster.g> (raw)
In-Reply-To: <ZLrQyZAoRIaga1mT@nand.local> (Taylor Blau's message of "Fri, 21 Jul 2023 14:39:05 -0400")

Taylor Blau <me@ttaylorr.com> writes:

>>     graph_git_two_modes "${DIR:+-C \"$DIR\"} log ..." &&
>>
>> Unfortunately, however, some older broken shells incorrectly expand
>> this to a single argument ("-C <dir>") rather than the expected two
>> arguments (-C and "<dir>")[1,2,3,4]. The workaround is unsightly but
>> doable:
>>
>>     graph_git_two_modes "${DIR:+-C} ${DIR:+\"$DIR\"} log ..." &&
>
> Hmm. I get what you're saying, but I think in this case we're OK, since
> this all goes to `graph_git_two_modes`, whose implementation looks like:
>
>     graph_git_two_modes() {
>         git -c core.commitGraph=true $1 >output
>     }
>
> So I think we really do want everything smashed together into a single
> argument.

This is not a scripted Porcelain that must cope with any funnies the
end users may throw at us, after all.

How about adding a new prominent note at the beginning of
graph_git_behavior helper to declare that it is a bug if DIR
contains any characters (e.g. $IFS) that may make the shell
misbehave, and then stop worrying about quoting of this one?

That would keep the end result slightly more readable ;-)

  reply	other threads:[~2023-07-21 19:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-21 17:30 [PATCH 0/5] commit-graph: test cleanup and modernization Taylor Blau
2023-07-21 17:30 ` [PATCH 1/5] t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories Taylor Blau
2023-07-21 17:41   ` Eric Sunshine
2023-07-21 18:33     ` Taylor Blau
2023-07-21 18:54       ` Junio C Hamano
2023-07-21 17:30 ` [PATCH 2/5] t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()` Taylor Blau
2023-07-21 18:01   ` Eric Sunshine
2023-07-21 18:39     ` Taylor Blau
2023-07-21 19:02       ` Junio C Hamano [this message]
2023-07-21 17:30 ` [PATCH 3/5] t5318: avoid top-level directory changes Taylor Blau
2023-07-21 18:28   ` Eric Sunshine
2023-07-21 17:30 ` [PATCH 4/5] t5328: " Taylor Blau
2023-07-21 17:30 ` [PATCH 5/5] t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()` Taylor Blau
2023-07-21 18:34 ` [PATCH 0/5] commit-graph: test cleanup and modernization Eric Sunshine
2023-07-21 22:35 ` Junio C Hamano
2023-07-24 16:39 ` [PATCH v2 " Taylor Blau
2023-07-24 16:39   ` [PATCH v2 1/5] t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories Taylor Blau
2023-07-24 16:39   ` [PATCH v2 2/5] t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()` Taylor Blau
2023-07-24 16:39   ` [PATCH v2 3/5] t5318: avoid top-level directory changes Taylor Blau
2023-07-24 21:48     ` Junio C Hamano
2023-07-24 16:39   ` [PATCH v2 4/5] t5328: " Taylor Blau
2023-07-24 16:39   ` [PATCH v2 5/5] t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()` Taylor Blau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqfs5hulyq.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=derrickstolee@github.com \
    --cc=git@vger.kernel.org \
    --cc=me@ttaylorr.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.