зеркало из https://github.com/microsoft/git.git
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:
Коммит
b4e931d84e
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче