X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=read-cache.c;h=274e54b4f31da69bf7c0721d4c8ba8e264db5dde;hb=19a6cd372a998df3079d870e02c064c5bb101841;hp=a51bba1b9569d64c348f3affc90ed8640e0e0189;hpb=0364bb135e285d4118b69979ade3078fab50e08a;p=git.git diff --git a/read-cache.c b/read-cache.c index a51bba1b9..274e54b4f 100644 --- a/read-cache.c +++ b/read-cache.c @@ -1120,11 +1120,16 @@ int refresh_index(struct index_state *istate, unsigned int flags, const char **p struct cache_entry *ce, *new; int cache_errno = 0; int changed = 0; + int filtered = 0; ce = istate->cache[i]; if (ignore_submodules && S_ISGITLINK(ce->ce_mode)) continue; + if (pathspec && + !match_pathspec(pathspec, ce->name, strlen(ce->name), 0, seen)) + filtered = 1; + if (ce_stage(ce)) { while ((i < istate->cache_nr) && ! strcmp(istate->cache[i]->name, ce->name)) @@ -1132,12 +1137,14 @@ int refresh_index(struct index_state *istate, unsigned int flags, const char **p i--; if (allow_unmerged) continue; - show_file(unmerged_fmt, ce->name, in_porcelain, &first, header_msg); + if (!filtered) + show_file(unmerged_fmt, ce->name, in_porcelain, + &first, header_msg); has_errors = 1; continue; } - if (pathspec && !match_pathspec(pathspec, ce->name, strlen(ce->name), 0, seen)) + if (filtered) continue; new = refresh_cache_ent(istate, ce, options, &cache_errno, &changed);