diff options
author | Andy Spencer <andy753421@gmail.com> | 2014-01-25 22:06:46 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-01-27 09:01:50 -0800 |
commit | e4ddb05720710213108cd13ddd5a115e12a6211d (patch) | |
tree | e73402b2b99d27e2e2f2399e8fb9aa238f28a27d /t/t4010-diff-pathspec.sh | |
parent | 2f93541d88fadd1ff5307d81c2c8921ee3eea058 (diff) | |
download | git-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 't/t4010-diff-pathspec.sh')
-rwxr-xr-x | t/t4010-diff-pathspec.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t4010-diff-pathspec.sh b/t/t4010-diff-pathspec.sh index af5134b70c..589bc6bfb4 100755 --- a/t/t4010-diff-pathspec.sh +++ b/t/t4010-diff-pathspec.sh @@ -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 |