#!/bin/sh
#
# Copyright (c) 2006 Josh England
#

test_description='Test the post-checkout hook.'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME

. ./test-lib.sh

test_expect_success setup '
	test_hook --setup post-checkout <<-\EOF &&
	echo "$@" >.git/post-checkout.args
	EOF
	test_commit one &&
	test_commit two &&
	test_commit rebase-on-me &&
	git reset --hard HEAD^ &&
	test_commit three
'

test_expect_success 'post-checkout receives the right arguments with HEAD unchanged ' '
	test_when_finished "rm -f .git/post-checkout.args" &&
	git checkout main &&
	read old new flag <.git/post-checkout.args &&
	test $old = $new && test $flag = 1
'

test_expect_success 'post-checkout args are correct with git checkout -b ' '
	test_when_finished "rm -f .git/post-checkout.args" &&
	git checkout -b new1 &&
	read old new flag <.git/post-checkout.args &&
	test $old = $new && test $flag = 1
'

test_expect_success 'post-checkout receives the right args with HEAD changed ' '
	test_when_finished "rm -f .git/post-checkout.args" &&
	git checkout two &&
	read old new flag <.git/post-checkout.args &&
	test $old != $new && test $flag = 1
'

test_expect_success 'post-checkout receives the right args when not switching branches ' '
	test_when_finished "rm -f .git/post-checkout.args" &&
	git checkout main -- three.t &&
	read old new flag <.git/post-checkout.args &&
	test $old = $new && test $flag = 0
'

test_rebase () {
	args="$*" &&
	test_expect_success "post-checkout is triggered on rebase $args" '
		test_when_finished "rm -f .git/post-checkout.args" &&
		git checkout -B rebase-test main &&
		rm -f .git/post-checkout.args &&
		git rebase $args rebase-on-me &&
		read old new flag <.git/post-checkout.args &&
		test_cmp_rev main $old &&
		test_cmp_rev rebase-on-me $new &&
		test $flag = 1
	'

	test_expect_success "post-checkout is triggered on rebase $args with fast-forward" '
		test_when_finished "rm -f .git/post-checkout.args" &&
		git checkout -B ff-rebase-test rebase-on-me^ &&
		rm -f .git/post-checkout.args &&
		git rebase $args rebase-on-me &&
		read old new flag <.git/post-checkout.args &&
		test_cmp_rev rebase-on-me^ $old &&
		test_cmp_rev rebase-on-me $new &&
		test $flag = 1
	'

	test_expect_success "rebase $args fast-forward branch checkout runs post-checkout hook" '
		test_when_finished "test_might_fail git rebase --abort" &&
		test_when_finished "rm -f .git/post-checkout.args" &&
		git update-ref refs/heads/rebase-fast-forward three &&
		git checkout two  &&
		rm -f .git/post-checkout.args &&
		git rebase $args HEAD rebase-fast-forward  &&
		read old new flag <.git/post-checkout.args &&
		test_cmp_rev two $old &&
		test_cmp_rev three $new &&
		test $flag = 1
	'

	test_expect_success "rebase $args checkout does not remove untracked files" '
		test_when_finished "test_might_fail git rebase --abort" &&
		test_when_finished "rm -f .git/post-checkout.args" &&
		git update-ref refs/heads/rebase-fast-forward three &&
		git checkout two &&
		rm -f .git/post-checkout.args &&
		echo untracked >three.t &&
		test_when_finished "rm three.t" &&
		test_must_fail git rebase $args HEAD rebase-fast-forward 2>err &&
		grep "untracked working tree files would be overwritten by checkout" err &&
		test_path_is_missing .git/post-checkout.args

'
}

test_rebase --apply &&
test_rebase --merge

test_expect_success 'post-checkout hook is triggered by clone' '
	mkdir -p templates/hooks &&
	write_script templates/hooks/post-checkout <<-\EOF &&
	echo "$@" >"$GIT_DIR/post-checkout.args"
	EOF
	git clone --template=templates . clone3 &&
	test -f clone3/.git/post-checkout.args
'

test_done
