diff options
Diffstat (limited to 'refs/ref-cache.c')
-rw-r--r-- | refs/ref-cache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/refs/ref-cache.c b/refs/ref-cache.c index 2294c4564f..a372a00941 100644 --- a/refs/ref-cache.c +++ b/refs/ref-cache.c @@ -1,5 +1,4 @@ #include "../git-compat-util.h" -#include "../alloc.h" #include "../hash.h" #include "../refs.h" #include "../repository.h" @@ -412,7 +411,8 @@ static int cache_ref_iterator_advance(struct ref_iterator *ref_iterator) if (level->prefix_state == PREFIX_WITHIN_DIR) { entry_prefix_state = overlaps_prefix(entry->name, iter->prefix); - if (entry_prefix_state == PREFIX_EXCLUDES_DIR) + if (entry_prefix_state == PREFIX_EXCLUDES_DIR || + (entry_prefix_state == PREFIX_WITHIN_DIR && !(entry->flag & REF_DIR))) continue; } else { entry_prefix_state = level->prefix_state; |