Subject: Re: [PATCH] add GIT_FAST_STAT mode for Cygwin

From: "Shawn O. Pearce" <[email-masked]>
Date: Wed, 24 Sep 2008 08:16:53 -0700

Alex Riesen <[email-masked]> wrote:
> 2008/9/24 Shawn O. Pearce <[email-masked]>:
> >
> > However Dmitry pointed out that he has cases where this faster
> > function doesn't work correctly, and it was path specific. Some
> > areas of the filesystem work, others don't, on the same system.
> 
> Huh?! What are they? What paths require cygwin's handling
> which aren't handled already? (the absolute paths are handled).

Cygwin lets you mount a filesystem at a different part of the
filesystem.  Sort of like Linux's mount -t bind (IIRC).

For example its possible to remap C:\foo\bar\widget\srcs into
C:\cygwin\home\lib, so you see the files under /home/lib in Cygwin,
even though that folder is empty (or flat out doesn't exist)
in Windows.

That filesystem remount stuff is part of the reason why the Cygwin
stat/lstat routines are so much slower than the native Windows ones.
They have to evaluate the path space twice (once in Cygwin, again
in the Windows kernel).

-- 
Shawn.