[Buildbot-devel] Removing the "lone pipe exception"

Dustin J. Mitchell dustin at v.igoro.us
Tue Sep 23 20:30:15 UTC 2014

Couldn't you pass "^|" explicitly?

My understanding of Windows quoting issues is minimal -- I recall
being referred to a very long document about CMD.EXE explaining how
quoting and unquoting was performed partially by CMD.EXE and partially
by the executable being started, and that the behavior differed
between different OS versions.  I kinda gave up at that point.

All of which is to say, I'd like to have a consistent deterministic
quoting system that makes sense to those familiar with Windows and
that is as simple as possible.  I don't particularly mind if it's
consistent with other OSes.  If reverting this change is a part of
that new quoting system, great, but I'm a little hesitant to bless
reverting a change that made great sense to someone else.


On Tue, Sep 23, 2014 at 3:51 PM, Роман Донченко <dpb at corrigendum.ru> wrote:
> Hello all,
> On Windows, if ShellCommand is used with a list of arguments, an argument
> consisting of a single pipe character will not be escaped, as per the
> documentation:
>> On the topic of shell metacharacters, note that in DOS the pipe
>> character (|) is conditionally escaped (to ^|) when it occurs inside a
>> more complex string in a list of strings. It remains unescaped when it
>> occurs as part of a single string or as a lone pipe in a list of strings.
> I'm not a fan of this behaviour, since it:
> 1) is inconsistent across OSes;
> 2) means that you can't pass an actual solitary pipe as an argument.
> So I'd like to remove it - that is, make it so that a pipe is always
> escaped no matter what. It is a backwards-incompatible change, but I think
> for Nine it should be okay. Still, I'd like to receive developers'
> blessing (or at least a lack of cursing) before I make the change.
> So what do you thinK?
> Roman.
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel

More information about the devel mailing list