summaryrefslogtreecommitdiff
path: root/tree-walk.c
diff options
context:
space:
mode:
authorAndy Spencer <andy753421@gmail.com>2014-01-25 22:06:46 +0000
committerJunio C Hamano <gitster@pobox.com>2014-01-27 09:01:50 -0800
commite4ddb05720710213108cd13ddd5a115e12a6211d (patch)
treee73402b2b99d27e2e2f2399e8fb9aa238f28a27d /tree-walk.c
parent2f93541d88fadd1ff5307d81c2c8921ee3eea058 (diff)
downloadgit-e4ddb05720710213108cd13ddd5a115e12a6211d.tar.gz
tree_entry_interesting: match against all pathspecsas/tree-walk-fix-aggressive-short-cut
The current basedir compare aborts early in order to avoid futile recursive searches. However, a match may still be found by another pathspec. This can cause an error while checking out files from a branch when using multiple pathspecs: $ git checkout master -- 'a/*.txt' 'b/*.txt' error: pathspec 'a/*.txt' did not match any file(s) known to git. Signed-off-by: Andy Spencer <andy753421@gmail.com> Acked-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'tree-walk.c')
-rw-r--r--tree-walk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tree-walk.c b/tree-walk.c
index c626135234..d5914f598d 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -696,7 +696,7 @@ match_wildcards:
if (item->nowildcard_len &&
!match_wildcard_base(item, base_str, baselen, &matched))
- return entry_not_interesting;
+ continue;
/*
* Concatenate base and entry->path into one and do