#!/bin/sh

test_description='basic rebase topology tests'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh

# a---b---c
#      \
#       d---e
test_expect_success 'setup' '
	test_commit a &&
	test_commit b &&
	test_commit c &&
	git checkout b &&
	test_commit d &&
	test_commit e
'

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "simple rebase $*" "
		reset_rebase &&
		git rebase $* c e &&
		test_cmp_rev c HEAD~2 &&
		test_linear_range 'd e' c..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_expect_success 'setup branches and remote tracking' '
	git tag -l >tags &&
	for tag in $(cat tags)
	do
		git branch branch-$tag $tag || return 1
	done &&
	git remote add origin "file://$PWD" &&
	git fetch origin
'

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* is no-op if upstream is an ancestor" "
		reset_rebase &&
		git rebase $* b e &&
		test_cmp_rev e HEAD
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* -f rewrites even if upstream is an ancestor" "
		reset_rebase &&
		git rebase $* -f b e &&
		! test_cmp_rev e HEAD &&
		test_cmp_rev b HEAD~2 &&
		test_linear_range 'd e' b..
	"
}
test_run_rebase success ''
test_run_rebase success --fork-point
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* -f rewrites even if remote upstream is an ancestor" "
		reset_rebase &&
		git rebase $* -f branch-b branch-e &&
		! test_cmp_rev branch-e origin/branch-e &&
		test_cmp_rev branch-b HEAD~2 &&
		test_linear_range 'd e' branch-b..
	"
}
test_run_rebase success ''
test_run_rebase success --fork-point
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* fast-forwards from ancestor of upstream" "
		reset_rebase &&
		git rebase $* e b &&
		test_cmp_rev e HEAD
	"
}
test_run_rebase success ''
test_run_rebase success --fork-point
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

#       f
#      /
# a---b---c---g---h
#      \
#       d---gp--i
#
# gp = cherry-picked g
# h = reverted g
#
# Reverted patches are there for tests to be able to check if a commit
# that introduced the same change as another commit is
# dropped. Without reverted commits, we could get false positives
# because applying the patch succeeds, but simply results in no
# changes.
test_expect_success 'setup of linear history for range selection tests' '
	git checkout c &&
	test_commit g &&
	revert h g &&
	git checkout d &&
	cherry_pick gp g &&
	test_commit i &&
	git checkout b &&
	test_commit f
'

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* drops patches in upstream" "
		reset_rebase &&
		git rebase $* h i &&
		test_cmp_rev h HEAD~2 &&
		test_linear_range 'd i' h..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* can drop last patch if in upstream" "
		reset_rebase &&
		git rebase $* h gp &&
		test_cmp_rev h HEAD^ &&
		test_linear_range 'd' h..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --onto drops patches in upstream" "
		reset_rebase &&
		git rebase $* --onto f h i &&
		test_cmp_rev f HEAD~2 &&
		test_linear_range 'd i' f..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --onto does not drop patches in onto" "
		reset_rebase &&
		git rebase $* --onto h f i &&
		test_cmp_rev h HEAD~3 &&
		test_linear_range 'd gp i' h..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

# a---b---c---j!
#      \
#       d---k!--l
#
# ! = empty
test_expect_success 'setup of linear history for empty commit tests' '
	git checkout c &&
	make_empty j &&
	git checkout d &&
	make_empty k &&
	test_commit l
'

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* drops empty commit" "
		reset_rebase &&
		git rebase $* c l &&
		test_cmp_rev c HEAD~2 &&
		test_linear_range 'd l' c..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --keep-empty" "
		reset_rebase &&
		git rebase $* --keep-empty c l &&
		test_cmp_rev c HEAD~3 &&
		test_linear_range 'd k l' c..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --keep-empty keeps empty even if already in upstream" "
		reset_rebase &&
		git rebase $* --keep-empty j l &&
		test_cmp_rev j HEAD~3 &&
		test_linear_range 'd k l' j..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p
test_run_rebase success --rebase-merges

#       m
#      /
# a---b---c---g
#
# x---y---bp
#
# bp = cherry-picked b
# m = reverted b
#
# Reverted patches are there for tests to be able to check if a commit
# that introduced the same change as another commit is
# dropped. Without reverted commits, we could get false positives
# because applying the patch succeeds, but simply results in no
# changes.
test_expect_success 'setup of linear history for test involving root' '
	git checkout b &&
	revert m b &&
	git checkout --orphan disjoint &&
	git rm -rf . &&
	test_commit x &&
	test_commit y &&
	cherry_pick bp b
'

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --onto --root" "
		reset_rebase &&
		git rebase $* --onto c --root y &&
		test_cmp_rev c HEAD~2 &&
		test_linear_range 'x y' c..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* without --onto --root with disjoint history" "
		reset_rebase &&
		git rebase $* c y &&
		test_cmp_rev c HEAD~2 &&
		test_linear_range 'x y' c..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --onto --root drops patch in onto" "
		reset_rebase &&
		git rebase $* --onto m --root bp &&
		test_cmp_rev m HEAD~2 &&
		test_linear_range 'x y' m..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --onto --root with merge-base does not go to root" "
		reset_rebase &&
		git rebase $* --onto m --root g &&
		test_cmp_rev m HEAD~2 &&
		test_linear_range 'c g' m..
	"
}

test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* without --onto --root with disjoint history drops patch in onto" "
		reset_rebase &&
		git rebase $* m bp &&
		test_cmp_rev m HEAD~2 &&
		test_linear_range 'x y' m..
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* --root on linear history is a no-op" "
		reset_rebase &&
		git rebase $* --root c &&
		test_cmp_rev c HEAD
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase failure -p

test_run_rebase () {
	result=$1
	shift
	test_expect_$result "rebase $* -f --root on linear history causes re-write" "
		reset_rebase &&
		git rebase $* -f --root c &&
		! test_cmp_rev a HEAD~2 &&
		test_linear_range 'a b c' HEAD
	"
}
test_run_rebase success ''
test_run_rebase success -m
test_run_rebase success -i
test_have_prereq !REBASE_P || test_run_rebase success -p

test_done
