Subject: Re: [PATCH v12 11/20] index-helper: use watchman to avoid refreshing, index with lstat()

From: David Turner <[email-masked]>
Date: Thu, 23 Jun 2016 02:24:42 -0400

On 06/19/2016 01:07 AM, David Turner wrote:
> Duy Nguyen <[email-masked]> wrote:
>  > On Fri, May 20, 2016 at 4:45 AM, David Turner
> <[email-masked]> wrote:
>  > > diff --git a/read-cache.c b/read-cache.c
>  > > index 1719f5a..8ec4be3 100644
>  > > --- a/read-cache.c
>  > >  +++ b/read-cache.c
>  > > @@ -1235,7 +1235,7 @@ int refresh_index(struct index_state *istate,
> unsigned int flags,
>  > >                 if (!new) {
>  > >                         const char *fmt;
>  > >
>  > > -                       if (really && cache_errno == EINVAL) {
>  > > +                       if (really || cache_errno == EINVAL) {
>  > >                                 /* If we are doing --really-refresh
> that
>  > >                                  * means the index is not valid
> anymore.
>  > >                                  */
>  >
>  > This looks really odd. I don't see why we would need this. It seems
>  > first appeared in your "do not apply" patch [1]. Maybe leftover?
>  >
>  > I found this while re-reading the series and I have not put much time
>  > in studying this code yet. So I may be wrong. I'll post again if I
>  > find that it's true after some more staring.
>
> I don't remember the exact details here, but I think we needed this so
> that we would ever refresh a file that watchman told us had been
> modified.  We definitely were missing some invalidation if we didn't
> have it.

... and now I can't repro the problem.  So I'll remove it and re-roll 
(with some other changes)