#!/bin/sh
#
# Copyright (c) 2009 Greg Price
#

test_description='git rebase -p should respect --onto

In a rebase with --onto, we should rewrite all the commits that
aren'"'"'t on top of $ONTO, even if they are on top of $UPSTREAM.
'
. ./test-lib.sh

. "$TEST_DIRECTORY"/lib-rebase.sh

# Set up branches like this:
# A1---B1---E1---F1---G1
#  \    \             /
#   \    \--C1---D1--/
#    H1

test_expect_success 'setup' '
	test_commit A1 &&
	test_commit B1 &&
	test_commit C1 &&
	test_commit D1 &&
	git reset --hard B1 &&
	test_commit E1 &&
	test_commit F1 &&
	test_merge G1 D1 &&
	git reset --hard A1 &&
	test_commit H1
'

# Now rebase merge G1 from both branches' base B1, both should move:
# A1---B1---E1---F1---G1
#  \    \             /
#   \    \--C1---D1--/
#    \
#     H1---E2---F2---G2
#      \             /
#       \--C2---D2--/

test_expect_success 'rebase from B1 onto H1' '
	git checkout G1 &&
	git rebase -p --onto H1 B1 &&
	test "$(git rev-parse HEAD^1^1^1)" = "$(git rev-parse H1)" &&
	test "$(git rev-parse HEAD^2^1^1)" = "$(git rev-parse H1)"
'

# On the other hand if rebase from E1 which is within one branch,
# then the other branch stays:
# A1---B1---E1---F1---G1
#  \    \             /
#   \    \--C1---D1--/
#    \             \
#     H1-----F3-----G3

test_expect_success 'rebase from E1 onto H1' '
	git checkout G1 &&
	git rebase -p --onto H1 E1 &&
	test "$(git rev-parse HEAD^1^1)" = "$(git rev-parse H1)" &&
	test "$(git rev-parse HEAD^2)" = "$(git rev-parse D1)"
'

# And the same if we rebase from a commit in the second-parent branch.
# A1---B1---E1---F1----G1
#  \    \          \   /
#   \    \--C1---D1-\-/
#    \               \
#     H1------D3------G4

test_expect_success 'rebase from C1 onto H1' '
	git checkout G1 &&
	git rev-list --first-parent --pretty=oneline C1..G1 &&
	git rebase -p --onto H1 C1 &&
	test "$(git rev-parse HEAD^2^1)" = "$(git rev-parse H1)" &&
	test "$(git rev-parse HEAD^1)" = "$(git rev-parse F1)"
'

test_done
