On Sat, Mar 19, 2016 at 8:04 AM, David Turner <[email protected]> wrote:
> @@ -1407,10 +1472,24 @@ static int read_watchman_ext(struct index_state 
> *istate, const void *data,
>         ewah_each_bit(bitmap, mark_no_watchman, istate);
>         ewah_free(bitmap);
>
> -       /*
> -        * TODO: update the untracked cache from the untracked data in this
> -        * extension.
> -        */
> +       if (istate->untracked && istate->untracked->root) {
> +               int i;
> +               const char *untracked;
> +
> +               untracked = data + len + 8 + bitmap_size;
> +               for (i = 0; i < untracked_nr; ++i) {
> +                       int len = strlen(untracked);
> +                       
> string_list_append(&istate->untracked->invalid_untracked,
> +                                          untracked);
> +                       untracked += len + 1;
> +               }
> +
> +               for_each_string_list(&istate->untracked->invalid_untracked,
> +                        mark_untracked_invalid, istate->untracked);

I think it's a bit early to invalidate untracked cache here. We can do
that in refresh_by_watchman() in 10/17, where ce_mark_uptodate() to
prevent lstat() is also done.

> +
> +               if (untracked_nr)
> +                       istate->cache_changed |= WATCHMAN_CHANGED;
> +       }
>         return 0;
>  }
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to