On Wed, Nov 4, 2020 at 9:33 PM Matheus Tavares <matheus.bernardino@xxxxxx> wrote: > > This code will be used by the parallel checkout functions, outside > entry.c, so extract it to a public function. Maybe the title could be a bit more explicit like: "entry: extract update_ce_after_write() from write_entry()" And: s/This code/This new function/ > @@ -371,15 +383,10 @@ static int write_entry(struct cache_entry *ce, > > finish: > if (state->refresh_cache) { Here we check state->refresh_cache ... > - assert(state->istate); > - if (!fstat_done) > - if (lstat(ce->name, &st) < 0) > - return error_errno("unable to stat just-written file %s", > - ce->name); > - fill_stat_cache_info(state->istate, ce, &st); > - ce->ce_flags |= CE_UPDATE_IN_BASE; > - mark_fsmonitor_invalid(state->istate, ce); > - state->istate->cache_changed |= CE_ENTRY_CHANGED; > + if (!fstat_done && lstat(ce->name, &st) < 0) > + return error_errno("unable to stat just-written file %s", > + ce->name); > + update_ce_after_write(state, ce , &st); ... and inside update_ce_after_write() we check state->refresh_cache again. So the check is now done twice. Not a big issue though.