Merge branch 'as/tree-walk-fix-aggressive-short-cut'
authorJunio C Hamano <gitster@pobox.com>
Mon, 27 Jan 2014 18:48:32 +0000 (10:48 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 27 Jan 2014 18:48:32 +0000 (10:48 -0800)
* as/tree-walk-fix-aggressive-short-cut:
tree_entry_interesting: match against all pathspecs

t/t4010-diff-pathspec.sh
tree-walk.c
index 15a491295ed3b85cb4a66d46e720e352787a8344..9f5659f7fe4df23d805e6c38264a1ebf38fc2538 100755 (executable)
@@ -127,4 +127,17 @@ test_expect_success 'diff-tree ignores trailing slash on submodule path' '
        test_cmp expect actual
 '
 
+test_expect_success 'diff multiple wildcard pathspecs' '
+       mkdir path2 &&
+       echo rezrov >path2/file1 &&
+       git update-index --add path2/file1 &&
+       tree3=`git write-tree` &&
+       git diff --name-only $tree $tree3 -- "path2*1" "path1*1" >actual &&
+       cat <<-\EOF >expect &&
+       path1/file1
+       path2/file1
+       EOF
+       test_cmp expect actual
+'
+
 test_done
index c29b6a3a566fe911271c9833e511190822aed723..79dba1d0f4e729b5e62825d347c7e6a9b1455f1d 100644 (file)
@@ -749,7 +749,7 @@ static enum interesting do_match(const struct name_entry *entry,
 
                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