提交 e16f434a 编写于 作者: J Junio C Hamano

t6111: allow checking the parents as well

Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 abdea96e
...@@ -20,7 +20,7 @@ note () { ...@@ -20,7 +20,7 @@ note () {
} }
unnote () { unnote () {
git name-rev --tags --stdin | sed -e "s|$_x40 (tags/\([^)]*\)) |\1 |g" git name-rev --tags --stdin | sed -e "s|$_x40 (tags/\([^)]*\))\([ ]\)|\1\2|g"
} }
test_expect_success setup ' test_expect_success setup '
...@@ -66,23 +66,34 @@ test_expect_success setup ' ...@@ -66,23 +66,34 @@ test_expect_success setup '
test_commit M file "Parts 1+2" test_commit M file "Parts 1+2"
' '
FMT='tformat:%P %H | %s'
# could we soup this up to optionally check parents? So "(BA)C" would check # could we soup this up to optionally check parents? So "(BA)C" would check
# that C is shown and has parents B A. # that C is shown and has parents B A.
check_outcome () { check_outcome () {
outcome=$1 outcome=$1
shift shift
for c in $1
do case "$1" in
echo "$c" *"("*)
done >expect && FMT="%P %H | %s"
shift && munge_actual="
s/^\([^ ]*\) \([^ ]*\) .*/(\1)\2/
s/ //g
s/()//
"
;;
*)
FMT="%H | %s"
munge_actual="s/^\([^ ]*\) .*/\1/"
;;
esac &&
printf "%s\n" $1 >expect &&
shift
param="$*" && param="$*" &&
test_expect_$outcome "log $param" ' test_expect_$outcome "log $param" '
git log --format="$FMT" $param | git log --format="$FMT" $param |
unnote >actual && unnote >actual &&
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual && sed -e "$munge_actual" <actual >check &&
test_cmp expect check || { test_cmp expect check || {
cat actual cat actual
false false
...@@ -99,6 +110,7 @@ check_result () { ...@@ -99,6 +110,7 @@ check_result () {
# shown in normal full-history, as we can't distinguish unless we do a # shown in normal full-history, as we can't distinguish unless we do a
# simplification pass. After simplification, D is dropped but G remains. # simplification pass. After simplification, D is dropped but G remains.
check_result 'M L K J I H G F E D C B A' check_result 'M L K J I H G F E D C B A'
check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FE)G (D)F (B)E (BC)D (A)C (A)B A'
check_result 'M H L K J I G E F D C B A' --topo-order check_result 'M H L K J I G E F D C B A' --topo-order
check_result 'M L H B A' -- file check_result 'M L H B A' -- file
check_result 'M L H B A' --parents -- file check_result 'M L H B A' --parents -- file
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册