Browse Source
* jc/log-stdin: Add trivial tests for --stdin option to log family Make --stdin option to "log" family read also pathspecs setup_revisions(): do not call get_pathspec() too early Teach --stdin option to "log" family read_revision_from_stdin(): use strbuf Conflicts: revision.cmaint
Junio C Hamano
15 years ago
8 changed files with 164 additions and 34 deletions
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
#!/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 |
Loading…
Reference in new issue