t / t4202-log.shon commit Merge branch 'jg/tag-contains' (b37f26d)
   1#!/bin/sh
   2
   3test_description='git log'
   4
   5. ./test-lib.sh
   6
   7test_expect_success setup '
   8
   9        echo one >one &&
  10        git add one &&
  11        test_tick &&
  12        git commit -m initial &&
  13
  14        echo ichi >one &&
  15        git add one &&
  16        test_tick &&
  17        git commit -m second &&
  18
  19        git mv one ichi &&
  20        test_tick &&
  21        git commit -m third &&
  22
  23        cp ichi ein &&
  24        git add ein &&
  25        test_tick &&
  26        git commit -m fourth &&
  27
  28        mkdir a &&
  29        echo ni >a/two &&
  30        git add a/two &&
  31        test_tick &&
  32        git commit -m fifth  &&
  33
  34        git rm a/two &&
  35        test_tick &&
  36        git commit -m sixth
  37
  38'
  39
  40test_expect_success 'diff-filter=A' '
  41
  42        actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
  43        expect=$(echo fifth ; echo fourth ; echo third ; echo initial) &&
  44        test "$actual" = "$expect" || {
  45                echo Oops
  46                echo "Actual: $actual"
  47                false
  48        }
  49
  50'
  51
  52test_expect_success 'diff-filter=M' '
  53
  54        actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
  55        expect=$(echo second) &&
  56        test "$actual" = "$expect" || {
  57                echo Oops
  58                echo "Actual: $actual"
  59                false
  60        }
  61
  62'
  63
  64test_expect_success 'diff-filter=D' '
  65
  66        actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
  67        expect=$(echo sixth ; echo third) &&
  68        test "$actual" = "$expect" || {
  69                echo Oops
  70                echo "Actual: $actual"
  71                false
  72        }
  73
  74'
  75
  76test_expect_success 'diff-filter=R' '
  77
  78        actual=$(git log -M --pretty="format:%s" --diff-filter=R HEAD) &&
  79        expect=$(echo third) &&
  80        test "$actual" = "$expect" || {
  81                echo Oops
  82                echo "Actual: $actual"
  83                false
  84        }
  85
  86'
  87
  88test_expect_success 'diff-filter=C' '
  89
  90        actual=$(git log -C -C --pretty="format:%s" --diff-filter=C HEAD) &&
  91        expect=$(echo fourth) &&
  92        test "$actual" = "$expect" || {
  93                echo Oops
  94                echo "Actual: $actual"
  95                false
  96        }
  97
  98'
  99
 100test_expect_success 'git log --follow' '
 101
 102        actual=$(git log --follow --pretty="format:%s" ichi) &&
 103        expect=$(echo third ; echo second ; echo initial) &&
 104        test "$actual" = "$expect" || {
 105                echo Oops
 106                echo "Actual: $actual"
 107                false
 108        }
 109
 110'
 111
 112test_expect_success 'setup case sensitivity tests' '
 113        echo case >one &&
 114        test_tick &&
 115        git add one
 116        git commit -a -m Second
 117'
 118
 119test_expect_success 'log --grep' '
 120        echo second >expect &&
 121        git log -1 --pretty="tformat:%s" --grep=sec >actual &&
 122        test_cmp expect actual
 123'
 124
 125test_expect_success 'log -i --grep' '
 126        echo Second >expect &&
 127        git log -1 --pretty="tformat:%s" -i --grep=sec >actual &&
 128        test_cmp expect actual
 129'
 130
 131test_expect_success 'log --grep -i' '
 132        echo Second >expect &&
 133        git log -1 --pretty="tformat:%s" --grep=sec -i >actual &&
 134        test_cmp expect actual
 135'
 136
 137test_done
 138