|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
test_description='git log'
|
|
|
|
|
|
|
|
. ./test-lib.sh
|
|
|
|
|
|
|
|
test_expect_success setup '
|
|
|
|
|
|
|
|
echo one >one &&
|
|
|
|
git add one &&
|
|
|
|
test_tick &&
|
|
|
|
git commit -m initial &&
|
|
|
|
|
|
|
|
echo ichi >one &&
|
|
|
|
git add one &&
|
|
|
|
test_tick &&
|
|
|
|
git commit -m second &&
|
|
|
|
|
|
|
|
git mv one ichi &&
|
|
|
|
test_tick &&
|
|
|
|
git commit -m third &&
|
|
|
|
|
|
|
|
cp ichi ein &&
|
|
|
|
git add ein &&
|
|
|
|
test_tick &&
|
|
|
|
git commit -m fourth &&
|
|
|
|
|
|
|
|
mkdir a &&
|
|
|
|
echo ni >a/two &&
|
|
|
|
git add a/two &&
|
|
|
|
test_tick &&
|
|
|
|
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 fifth ; echo fourth ; echo third ; echo initial) &&
|
|
|
|
test "$actual" = "$expect" || {
|
|
|
|
echo Oops
|
|
|
|
echo "Actual: $actual"
|
|
|
|
false
|
|
|
|
}
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
test_expect_success 'diff-filter=M' '
|
|
|
|
|
|
|
|
actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
|
|
|
|
expect=$(echo second) &&
|
|
|
|
test "$actual" = "$expect" || {
|
|
|
|
echo Oops
|
|
|
|
echo "Actual: $actual"
|
|
|
|
false
|
|
|
|
}
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
test_expect_success 'diff-filter=D' '
|
|
|
|
|
|
|
|
actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
|
|
|
|
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"
|
|
|
|
false
|
|
|
|
}
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
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
|
|
|
|
|