From: Junio C Hamano <gitster@pobox.com>
To: merlyn@stonehenge.com (Randal L. Schwartz)
Cc: "Avery Pennarun" <apenwarr@gmail.com>,
"Jakub Narebski" <jnareb@gmail.com>, "Jeff King" <peff@peff.net>,
"Robert Schiele" <rschiele@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>,
git@vger.kernel.org, "Lea Wiemann" <lewiemann@gmail.com>
Subject: Re: [PATCH] change Perl syntax to support Perl 5.6
Date: Sun, 31 Aug 2008 09:27:38 -0700 [thread overview]
Message-ID: <7v63ph40at.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <8663phnw3z.fsf@blue.stonehenge.com> (Randal L. Schwartz's message of "Sun, 31 Aug 2008 06:37:52 -0700")
merlyn@stonehenge.com (Randal L. Schwartz) writes:
>>>>>> "Avery" == Avery Pennarun <apenwarr@gmail.com> writes:
>
> Avery> Shell quoting is a disaster (including security holes, where relevant)
> Avery> waiting to happen. The above is the only sane way to do it, and it
> Avery> isn't very hard to implement. (Instead of system() in the subprocess,
> Avery> you can use exec().)
>
> quotemeta() is about regex quoting. This is not precisely the same as shell
> quoting, and is both misleading, and potentially broken.
Agreed to, and grateful for, both of your comments.
Do you like the one Jakub quoted from how gitweb does it? It looks like
this:
# quote the given arguments for passing them to the shell
# quote_command("command", "arg 1", "arg with ' and ! characters")
# => "'command' 'arg 1' 'arg with '\'' and '\!' characters'"
# Try to avoid using this function wherever possible.
sub quote_command {
return join(' ',
map( { my $a = $_; $a =~ s/(['!])/'\\$1'/g; "'$a'" } @_ ));
}
next prev parent reply other threads:[~2008-08-31 16:31 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-30 17:39 [PATCH] change Perl syntax to support Perl 5.6 Robert Schiele
2008-08-30 18:00 ` Jeff King
2008-08-30 18:06 ` Junio C Hamano
2008-08-30 18:13 ` Jeff King
2008-08-30 18:34 ` Robert Schiele
2008-08-30 18:39 ` Jeff King
2008-08-30 20:37 ` Jakub Narebski
2008-08-30 21:21 ` Robert Schiele
2008-08-31 5:35 ` Avery Pennarun
2008-08-31 13:37 ` Randal L. Schwartz
2008-08-31 16:27 ` Junio C Hamano [this message]
2008-08-31 18:29 ` Avery Pennarun
2008-08-31 20:23 ` Jakub Narebski
2008-08-31 20:34 ` Petr Baudis
2008-09-01 3:57 ` H. Peter Anvin
2008-09-01 4:22 ` Robert Schiele
2008-09-01 13:06 ` Tom G. Christensen
2008-09-04 17:28 ` Brandon Casey
2008-09-05 6:34 ` Tom G. Christensen
2008-08-31 20:55 ` Jakub Narebski
2008-09-01 1:52 ` Jay Soffian
2008-09-01 21:42 ` Alex Riesen
2008-09-02 0:23 ` Avery Pennarun
2008-09-02 17:50 ` Avery Pennarun
2008-08-30 20:20 ` Junio C Hamano
2008-08-31 13:35 ` Randal L. Schwartz
2008-08-31 19:54 ` Ask Bjørn Hansen
2008-09-01 1:22 ` Junio C Hamano
2008-09-01 1:48 ` Junio C Hamano
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=7v63ph40at.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=apenwarr@gmail.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=lewiemann@gmail.com \
--cc=merlyn@stonehenge.com \
--cc=peff@peff.net \
--cc=rschiele@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).