Re: [PATCH] Put quotes around branch names to prevent special characters from being interpreted by the shell.
On Sun, Jun 6, 2010 at 5:55 PM, Jeff King <peff@peff.net> wrote:
Show 11 quoted lines
> On Fri, Jun 04, 2010 at 11:53:20AM -0400, Benjamin C Meyer wrote:
>
>> Perforce branch names with spaces (and other special characters) were
>> causing issues.
>> [...]
>> - details = p4Cmd("branch -o %s" % info["branch"])
>> + details = p4Cmd("branch -o \"%s\"" % info["branch"])
>
> Won't this still fail if your branch name contains quotation marks or
> backslashes? Does python have some equivalent to perl's quotemeta to
> just shell-escape the problematic charactersfrom commands import mkarg mkarg(arg)
will enclose arg in single quotes if it contains none; else it will enclose arg in double quotes and backslash escape shell meta characters (any of \ $ " `).
BTW, quotemeta is technically intended for use with regular expressions, isn't it?
> (or even a way of just
> using a straight list in p4Cmd and avoiding the shell altogether)?
> I know those characters may not be common, but if we are going to quote,
> perhaps we should make it foolproof.