Merge branch 'as/tree-walk-fix-aggressive-short-cut' into maint

The pathspec matching code, while comparing two trees (e.g. "git
diff A B -- path1 path2") was too aggressive and failed to match
some paths when multiple pathspecs were involved.

* as/tree-walk-fix-aggressive-short-cut:
  tree_entry_interesting: match against all pathspecs
This commit is contained in:
Junio C Hamano 2014-02-13 13:37:53 -08:00
Родитель 3330a2c4f6 e4ddb05720
Коммит b4e931d84e
2 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -110,4 +110,17 @@ test_expect_success 'diff-tree -r with wildcard' '
test_cmp expected result
'
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

Просмотреть файл

@ -743,7 +743,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