[Svnmerge] [PATCH] performance fix for some platforms

Giovanni Bajo rasky at develer.com
Sat Jul 21 06:20:30 PDT 2007


On ven, 2007-07-20 at 18:58 -0600, Luke Call wrote:

> I have created a combined patch (just one file this time) for the
> performance fix, available here:
> 
> http://subversion.tigris.org/nonav/issues/showattachment.cgi/668/performanceFix3-combined.patch
> 

The issue about single quotes vs double quotes is specific of Windows'
CMD shell. I think that CMD just parsers the command line like that.
I'll verify this later on a Windows machine (don't have one handy at the
moment). Thus, I'd remove that comment from launch() as I believe has
nothing to do with it. I'd move it to the testsuite file, at the top, so
that test authors will hopefully remember not to use single quotes in
command lines.

For completeness, please notice that, in Windows, when processes are
created, the full command line is passed to them. Each process is then
in charge to parse it and split it as it prefers. Thus, *potentially*,
each process could handle quotes and escaping differently. MS CRT
library provides a standard parsing function which is executed by
default by all console processes, so that argc/argv[] are eventually
passed to C's main(). subprocess.list2cmdline basically convert a list
of arguments to a single command line using MS CRT's rules, so that MS
CRT will be able to split it back exactly to the original string list.

Thus, your command about list2cmdline is wrong: On Windows, Popen()
simply doesn't split the command line string you pass to it.

Anyway, I approve your patch, on the grounds that the cruft is now
reduced to the bare minimum (as opposed to your previous versions).
Please submit an updated versions without those comments though, so that
we (Dustin?) can commit it for you.

Thanks again for working on this (and going through so many iterations
for a single patch)!
-- 
Giovanni Bajo
Develer S.r.l.
http://www.develer.com





More information about the Svnmerge mailing list