diff options
| -rw-r--r-- | preload-index.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/preload-index.c b/preload-index.c index 88edc5f8a9..14d5281183 100644 --- a/preload-index.c +++ b/preload-index.c @@ -34,7 +34,9 @@ static void *preload_thread(void *_data)  	struct thread_data *p = _data;  	struct index_state *index = p->index;  	struct cache_entry **cep = index->cache + p->offset; +	struct cache_def cache; +	memset(&cache, 0, sizeof(cache));  	nr = p->nr;  	if (nr + p->offset > index->cache_nr)  		nr = index->cache_nr - p->offset; @@ -49,6 +51,8 @@ static void *preload_thread(void *_data)  			continue;  		if (!ce_path_match(ce, p->pathspec))  			continue; +		if (threaded_has_symlink_leading_path(&cache, ce->name, ce_namelen(ce))) +			continue;  		if (lstat(ce->name, &st))  			continue;  		if (ie_match_stat(index, ce, &st, CE_MATCH_RACY_IS_DIRTY))  | 
