提交 c72424b1 编写于 作者: K Kevin Bracey 提交者: Junio C Hamano

t6019: test file dropped in -s ours merge

In preparation for upcoming TREESAME work, check the result for G.t,
which is dropped in "-s ours" merge L. The default rev-list is empty, as
expected - it follows the first parent path where it never existed.

Unfortunately, --ancestry-path is also empty. Merges H J and L are all
TREESAME to 1 parent, so are treated as TREESAME and not shown. This is
clearly undesirable in the case of merge L, which dropped our G.t by
taking the non-ancestry-path version. Document this as a known failure,
and expect "H J L", the 3 merges along the path that had to chose G.t
versions.
Signed-off-by: NKevin Bracey <kevin@bracey.fi>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 83f0412f
......@@ -16,6 +16,9 @@ test_description='--ancestry-path'
#
# F...I == F G H I
# --ancestry-path F...I == F H I
#
# G..M -- G.t == [nothing - was dropped in "-s ours" merge L]
# --ancestry-path G..M -- G.t == H J L
. ./test-lib.sh
......@@ -89,6 +92,22 @@ test_expect_success 'rev-list --ancestry-path F...I' '
test_cmp expect actual
'
# G.t is dropped in an "-s ours" merge
test_expect_success 'rev-list G..M -- G.t' '
>expect &&
git rev-list --format=%s G..M -- G.t |
sed -e "/^commit /d" >actual &&
test_cmp expect actual
'
test_expect_failure 'rev-list --ancestry-path G..M -- G.t' '
for c in H J L; do echo $c; done >expect &&
git rev-list --ancestry-path --format=%s G..M -- G.t |
sed -e "/^commit /d" |
sort >actual &&
test_cmp expect actual
'
# b---bc
# / \ /
# a X
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册