#!/bin/sh
#
# Copyright (c) 2019 Denton Liu
#

test_description='git rebase --fork-point test'

. ./test-lib.sh

# A---B---D---E    (master)
#      \
#       C*---F---G (side)
#
# C was formerly part of master but master was rewound to remove C
#
test_expect_success setup '
	test_commit A &&
	test_commit B &&
	test_commit C &&
	git branch -t side &&
	git reset --hard HEAD^ &&
	test_commit D &&
	test_commit E &&
	git checkout side &&
	test_commit F &&
	test_commit G
'

test_rebase () {
	expected="$1" &&
	shift &&
	test_expect_success "git rebase $*" "
		git checkout master &&
		git reset --hard E &&
		git checkout side &&
		git reset --hard G &&
		git rebase $* &&
		test_write_lines $expected >expect &&
		git log --pretty=%s >actual &&
		test_cmp expect actual
	"
}

test_rebase 'G F E D B A'
test_rebase 'G F D B A' --onto D
test_rebase 'G F B A' --keep-base
test_rebase 'G F C E D B A' --no-fork-point
test_rebase 'G F C D B A' --no-fork-point --onto D
test_rebase 'G F C B A' --no-fork-point --keep-base

test_rebase 'G F E D B A' --fork-point refs/heads/master
test_rebase 'G F E D B A' --fork-point master

test_rebase 'G F D B A' --fork-point --onto D refs/heads/master
test_rebase 'G F D B A' --fork-point --onto D master

test_rebase 'G F B A' --fork-point --keep-base refs/heads/master
test_rebase 'G F B A' --fork-point --keep-base master

test_rebase 'G F C E D B A' refs/heads/master
test_rebase 'G F C E D B A' master

test_rebase 'G F C D B A' --onto D refs/heads/master
test_rebase 'G F C D B A' --onto D master

test_rebase 'G F C B A' --keep-base refs/heads/master
test_rebase 'G F C B A' --keep-base master

test_expect_success 'git rebase --fork-point with ambigous refname' '
	git checkout master &&
	git checkout -b one &&
	git checkout side &&
	git tag one &&
	test_must_fail git rebase --fork-point --onto D one
'

test_done
