summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Michael J Gruber <git@drmicha.warpmail.net>2012-09-14 11:46:43 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-09-15 23:35:40 -0700
commit39f2e017203695b9da2ad35589b0e58bcac6fdc8 (patch)
tree8628792f4fed980517c456c4c10e8a53aa3efd25
parentt7810-grep: test interaction of multiple --grep and --author options (diff)
downloadtgif-39f2e017203695b9da2ad35589b0e58bcac6fdc8.tar.xz
t7810-grep: test --all-match with multiple --grep and --author options
The code used to have a bug that ignores "--all-match", that requires all "--grep" to have matched, when "--author" or "--committer" was used. Make sure the bug will not be reintroduced. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t7810-grep.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index f6edb4d6dc..b5c488e3a5 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -531,6 +531,16 @@ test_expect_success 'log --grep --grep --author takes union of greps and interse
test_cmp expect actual
'
+test_expect_success 'log ---all-match -grep --author --author still takes union of authors and intersects with grep' '
+ # grep matches only initial and third
+ # author matches all but second
+ git log --all-match --author="Thor" --author="Night" --grep=i --format=%s >actual &&
+ {
+ echo third && echo initial
+ } >expect &&
+ test_cmp expect actual
+'
+
test_expect_success 'log --grep --author --author takes union of authors and intersects with grep' '
# grep matches only initial and third
# author matches all but second
@@ -541,6 +551,16 @@ test_expect_success 'log --grep --author --author takes union of authors and int
test_cmp expect actual
'
+test_expect_success 'log --all-match --grep --grep --author takes intersection' '
+ # grep matches only third
+ # author matches only initial and third
+ git log --all-match --author="A U Thor" --grep=i --grep=r --format=%s >actual &&
+ {
+ echo third
+ } >expect &&
+ test_cmp expect actual
+'
+
test_expect_success 'grep with CE_VALID file' '
git update-index --assume-unchanged t/t &&
rm t/t &&