octopus: reenable fast-forward merges

The fast-forward logic is never being triggered because $common and
$MRC are never equivalent. $common is initialized to a commit id by
merge-base and MRC is initialized to HEAD. Fix this by initializing
$MRC to the commit id for HEAD so that its possible for $MRC and
$common to be equal.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stephen Boyd 2009-12-11 16:38:58 -08:00 коммит произвёл Junio C Hamano
Родитель 81334502ee
Коммит 85bf49f9a5
2 изменённых файлов: 19 добавлений и 1 удалений

Просмотреть файл

@ -44,7 +44,7 @@ esac
# MRC is the current "merge reference commit" # MRC is the current "merge reference commit"
# MRT is the current "merge result tree" # MRT is the current "merge result tree"
MRC=$head MSG= PARENT="-p $head" MRC=$(git rev-parse --verify -q $head) MSG= PARENT="-p $head"
MRT=$(git write-tree) MRT=$(git write-tree)
CNT=1 ;# counting our head CNT=1 ;# counting our head
NON_FF_MERGE=0 NON_FF_MERGE=0

Просмотреть файл

@ -82,4 +82,22 @@ test_expect_success 'merge up-to-date output uses pretty names' '
git merge c4 c5 >actual && git merge c4 c5 >actual &&
test_cmp actual expected test_cmp actual expected
' '
cat >expected <<\EOF
Fast-forwarding to: c1
Trying simple merge with c2
Merge made by octopus.
c1.c | 1 +
c2.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 c1.c
create mode 100644 c2.c
EOF
test_expect_success 'merge fast-forward output uses pretty names' '
git reset --hard c0 &&
git merge c1 c2 >actual &&
test_cmp actual expected
'
test_done test_done