1550bb6ed0
Carefully excluding t6300, which sees independent development elsewhere at the time of writing, we use `main` as the default branch name in t6[0-3]*. This trick was performed via $ (cd t && sed -i -e 's/master/main/g' -e 's/MASTER/MAIN/g' \ -e 's/Master/Main/g' -- t6[0-3]*.sh && git checkout HEAD -- t6300\*) This allows us to define `GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main` for those tests. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
82 lines
1.4 KiB
Bash
Executable File
82 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2009, Junio C Hamano
|
|
#
|
|
|
|
test_description='log family learns --stdin'
|
|
|
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
|
|
. ./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 main~$i &&
|
|
echo updated $i >file-$i &&
|
|
git add file-$i &&
|
|
test_tick &&
|
|
git commit -m side-$i || exit
|
|
done
|
|
)
|
|
'
|
|
|
|
check main
|
|
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_expect_success 'not only --stdin' '
|
|
cat >expect <<-EOF &&
|
|
7
|
|
|
|
file-1
|
|
file-2
|
|
EOF
|
|
cat >input <<-EOF &&
|
|
^main^
|
|
--
|
|
file-2
|
|
EOF
|
|
git log --pretty=tformat:%s --name-only --stdin main -- file-1 \
|
|
<input >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_done
|