You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
2.4 KiB
138 lines
2.4 KiB
#!/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 |
|
|
|
|