Subject: Re: [PATCH] Teach git-checkout-index to read filenames from stdin.

From: Shawn Pearce <[email-masked]>
Date: Wed, 1 Mar 2006 12:56:06 -0500

Christopher Faylor <[email-masked]> wrote:
> AFAIK, the length of the command line for cygwin apps is very large --
> if you're using recent versions of Cygwin.  I believe that it is longer
> than the linux default.  We bypass the Windows mechanism for setting the
> command line when a cygwin program starts a cygwin program.
> 
> For native Windows programs, the command line length is ~32K but I don't
> think that git uses any native Windows programs, does it?

No.  Currently GIT is entirely dependent on Cygwin.  So GIT
wouldn't bump into the ~32K limit due to the cygwin-cygwin feature
you mention.  But thanks for the information.  I had thought I had
read somewhere in the Cygwin documentation that the command line
length was rather limited (even under cygwin-cygwin calls).  Maybe
I was just seeing things.  :-)

But even if we can get a long set of args into git-checkout-index its
probably still better to stream them as you can get both programs
working at the same time (rather than waiting for xargs to build
the argument buffer) and you are saving yourself at least one fork
as you don't need to start xargs just to feed git-checkout-index.
Even on Linux where fork is cheap, that's still soemething saved.

-- 
Shawn.