lstat_cache(): print a warning if doing ping-pong between cache types
[gitweb.git] / t / t4202-log.sh
index b53645417b9f4cdf59338f47104acfc3a0c4d702..7b976ee36db140550dab33ea990ada8e52dfb13e 100755 (executable)
@@ -16,27 +16,31 @@ test_expect_success setup '
        test_tick &&
        git commit -m second &&
 
-       mkdir a &&
-       echo ni >a/two &&
-       git add a/two &&
+       git mv one ichi &&
        test_tick &&
        git commit -m third &&
 
-       echo san >a/three &&
-       git add a/three &&
+       cp ichi ein &&
+       git add ein &&
        test_tick &&
        git commit -m fourth &&
 
-       git rm a/three &&
+       mkdir a &&
+       echo ni >a/two &&
+       git add a/two &&
        test_tick &&
-       git commit -m fifth
+       git commit -m fifth  &&
+
+       git rm a/two &&
+       test_tick &&
+       git commit -m sixth
 
 '
 
 test_expect_success 'diff-filter=A' '
 
        actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
-       expect=$(echo fourth ; echo third ; echo initial) &&
+       expect=$(echo fifth ; echo fourth ; echo third ; echo initial) &&
        test "$actual" = "$expect" || {
                echo Oops
                echo "Actual: $actual"
@@ -60,7 +64,19 @@ test_expect_success 'diff-filter=M' '
 test_expect_success 'diff-filter=D' '
 
        actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
-       expect=$(echo fifth) &&
+       expect=$(echo sixth ; echo third) &&
+       test "$actual" = "$expect" || {
+               echo Oops
+               echo "Actual: $actual"
+               false
+       }
+
+'
+
+test_expect_success 'diff-filter=R' '
+
+       actual=$(git log -M --pretty="format:%s" --diff-filter=R HEAD) &&
+       expect=$(echo third) &&
        test "$actual" = "$expect" || {
                echo Oops
                echo "Actual: $actual"
@@ -69,6 +85,54 @@ test_expect_success 'diff-filter=D' '
 
 '
 
+test_expect_success 'diff-filter=C' '
+
+       actual=$(git log -C -C --pretty="format:%s" --diff-filter=C HEAD) &&
+       expect=$(echo fourth) &&
+       test "$actual" = "$expect" || {
+               echo Oops
+               echo "Actual: $actual"
+               false
+       }
+
+'
+
+test_expect_success 'git log --follow' '
+
+       actual=$(git log --follow --pretty="format:%s" ichi) &&
+       expect=$(echo third ; echo second ; echo initial) &&
+       test "$actual" = "$expect" || {
+               echo Oops
+               echo "Actual: $actual"
+               false
+       }
+
+'
+
+test_expect_success 'setup case sensitivity tests' '
+       echo case >one &&
+       test_tick &&
+       git add one
+       git commit -a -m Second
+'
+
+test_expect_success 'log --grep' '
+       echo second >expect &&
+       git log -1 --pretty="tformat:%s" --grep=sec >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'log -i --grep' '
+       echo Second >expect &&
+       git log -1 --pretty="tformat:%s" -i --grep=sec >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'log --grep -i' '
+       echo Second >expect &&
+       git log -1 --pretty="tformat:%s" --grep=sec -i >actual &&
+       test_cmp expect actual
+'
 
+test_done
 
-test_done
\ No newline at end of file