62 lines
1.0 KiB
Bash
62 lines
1.0 KiB
Bash
|
#!/bin/sh
|
||
|
#
|
||
|
# Copyright (c) 2009, Junio C Hamano
|
||
|
#
|
||
|
|
||
|
test_description='log family learns --stdin'
|
||
|
|
||
|
. ./test-lib.sh
|
||
|
|
||
|
check () {
|
||
|
for cmd in rev-list "log --stat"
|
||
|
do
|
||
|
for i in "$@"
|
||
|
do
|
||
|
printf "%s\n" $i
|
||
|
done >input &&
|
||
|
test_expect_success "check $cmd $*" '
|
||
|
git $cmd $(cat input) >expect &&
|
||
|
git $cmd --stdin <input >actual &&
|
||
|
sed -e "s/^/input /" input &&
|
||
|
sed -e "s/^/output /" expect &&
|
||
|
test_cmp expect actual
|
||
|
'
|
||
|
done
|
||
|
}
|
||
|
|
||
|
them='1 2 3 4 5 6 7'
|
||
|
|
||
|
test_expect_success setup '
|
||
|
(
|
||
|
for i in 0 $them
|
||
|
do
|
||
|
for j in $them
|
||
|
do
|
||
|
echo $i.$j >file-$j &&
|
||
|
git add file-$j || exit
|
||
|
done &&
|
||
|
test_tick &&
|
||
|
git commit -m $i || exit
|
||
|
done &&
|
||
|
for i in $them
|
||
|
do
|
||
|
git checkout -b side-$i master~$i &&
|
||
|
echo updated $i >file-$i &&
|
||
|
git add file-$i &&
|
||
|
test_tick &&
|
||
|
git commit -m side-$i || exit
|
||
|
done
|
||
|
)
|
||
|
'
|
||
|
|
||
|
check master
|
||
|
check side-1 ^side-4
|
||
|
check side-1 ^side-7 --
|
||
|
check side-1 ^side-7 -- file-1
|
||
|
check side-1 ^side-7 -- file-2
|
||
|
check side-3 ^side-4 -- file-3
|
||
|
check side-3 ^side-2
|
||
|
check side-3 ^side-2 -- file-1
|
||
|
|
||
|
test_done
|