#!/bin/sh

test_description='git rebase - test patch id computation'

. ./test-lib.sh

count () {
	i=0
	while test $i -lt $1
	do
		echo "$i"
		i=$(($i+1))
	done
}

scramble () {
	i=0
	while read x
	do
		if test $i -ne 0
		then
			echo "$x"
		fi
		i=$((($i+1) % 10))
	done <"$1" >"$1.new"
	mv -f "$1.new" "$1"
}

run () {
	echo \$ "$@"
	/usr/bin/time "$@" >/dev/null
}

test_expect_success 'setup' '
	git commit --allow-empty -m initial &&
	git tag root
'

do_tests () {
	nlines=$1 pr=${2-}

	test_expect_success $pr "setup: $nlines lines" "
		rm -f .gitattributes &&
		git checkout -q -f master &&
		git reset --hard root &&
		count $nlines >file &&
		git add file &&
		git commit -q -m initial &&
		git branch -f other &&

		scramble file &&
		git add file &&
		git commit -q -m 'change big file' &&

		git checkout -q other &&
		: >newfile &&
		git add newfile &&
		git commit -q -m 'add small file' &&

		git cherry-pick master >/dev/null 2>&1
	"

	test_debug "
		run git diff master^\!
	"

	test_expect_success $pr 'setup attributes' "
		echo 'file binary' >.gitattributes
	"

	test_debug "
		run git format-patch --stdout master &&
		run git format-patch --stdout --ignore-if-in-upstream master
	"

	test_expect_success $pr 'detect upstream patch' '
		git checkout -q master &&
		scramble file &&
		git add file &&
		git commit -q -m "change big file again" &&
		git checkout -q other^{} &&
		git rebase master &&
		test_must_fail test -n "$(git rev-list master...HEAD~)"
	'

	test_expect_success $pr 'do not drop patch' '
		git branch -f squashed master &&
		git checkout -q -f squashed &&
		git reset -q --soft HEAD~2 &&
		git commit -q -m squashed &&
		git checkout -q other^{} &&
		test_must_fail git rebase squashed &&
		rm -rf .git/rebase-apply
	'
}

do_tests 500
do_tests 50000 EXPENSIVE

test_done
