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

From: "Shawn O. Pearce" <[email-masked]>
Date: Tue, 23 Sep 2008 14:58:58 -0700

Dmitry Potapov <[email-masked]> wrote:
> I am not sure that I understand what you are trying to do here.
...
> Did you mean this:
...
> if (have_git_dir()) {
> 	git_config(git_cygwin_config, NULL);
> 	cygwin_stat_fn = native_stat ? cygwin_stat : stat;
> 	cygwin_lstat_fn = native_stat ? cygwin_lstat : lstat;
> }

Err, yes, something more like that.
 
> > > static int cygwin_stat_choice(const char *file_name, struct stat *buf)
> > > {
> > > 	init_stat();
> > > 	return (*cygwin_stat_fn)(file_name, buf);
> 
> change the above line to:
> 	return (cygwin_stat_fn ? cygwin_stat_fn : stat) (file_name, buf);

Right.
 
> so init_stat may be called a few times outside of git directory and then
> use the default cygwin function, and once we enter to it then load the
> configuration option and act accordingly.

Yup, exactly.  Sorry I wasn't being very clear earlier.

-- 
Shawn.