run-command: document use_shell option
authorJeff King <peff@peff.net>
Fri, 22 Jan 2021 21:03:33 +0000 (16:03 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Jan 2021 22:21:32 +0000 (14:21 -0800)
commitee4e22554f3d1f4a9ab53dc7719434a9031a300a
treea9490cda66c7b1c41aae21d6a9854933bc7f7b78
parent71ca53e8125e36efbda17293c50027d31681a41f
run-command: document use_shell option

It's unclear how run-command's use_shell option should impact the
arguments fed to a command. Plausibly it could mean that we glue all of
the arguments together into a string to pass to the shell, in which case
that opens the question of whether the caller needs to quote them.

But in fact we don't implement it that way (and even if we did, we'd
probably auto-quote the arguments as part of the glue step). And we must
not receive quoted arguments, because we might actually optimize out the
shell entirely (i.e., the caller does not even know if a shell will be
involved in the end or not).

Since this ambiguity may have been the cause of a recent bug, let's
document the option a bit.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
run-command.h