#!/bin/sh

test_description='git rebase - test patch id computation'

GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME

TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh

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"
}

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

test_expect_success 'setup: 500 lines' '
	rm -f .gitattributes &&
	git checkout -q -f main &&
	git reset --hard root &&
	test_seq 500 >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 main >/dev/null 2>&1 &&

	git branch -f squashed main &&
	git checkout -q -f squashed &&
	git reset -q --soft HEAD~2 &&
	git commit -q -m squashed &&

	git branch -f mode main &&
	git checkout -q -f mode &&
	test_chmod +x file &&
	git commit -q -a --amend &&

	git branch -f modeother other &&
	git checkout -q -f modeother &&
	test_chmod +x file &&
	git commit -q -a --amend
'

test_expect_success 'detect upstream patch' '
	git checkout -q main^{} &&
	scramble file &&
	git add file &&
	git commit -q -m "change big file again" &&
	git checkout -q other^{} &&
	git rebase main &&
	git rev-list main...HEAD~ >revs &&
	test_must_be_empty revs
'

test_expect_success 'detect upstream patch binary' '
	echo "file binary" >.gitattributes &&
	git checkout -q other^{} &&
	git rebase main &&
	git rev-list main...HEAD~ >revs &&
	test_must_be_empty revs &&
	test_when_finished "rm .gitattributes"
'

test_expect_success 'detect upstream patch modechange' '
	git checkout -q modeother^{} &&
	git rebase mode &&
	git rev-list mode...HEAD~ >revs &&
	test_must_be_empty revs
'

test_expect_success 'do not drop patch' '
	git checkout -q other^{} &&
	test_must_fail git rebase squashed &&
	test_when_finished "git rebase --abort"
'

test_expect_success 'do not drop patch binary' '
	echo "file binary" >.gitattributes &&
	git checkout -q other^{} &&
	test_must_fail git rebase squashed &&
	test_when_finished "git rebase --abort" &&
	test_when_finished "rm .gitattributes"
'

test_expect_success 'do not drop patch modechange' '
	git checkout -q modeother^{} &&
	git rebase other &&
	cat >expected <<-\EOF &&
	diff --git a/file b/file
	old mode 100644
	new mode 100755
	EOF
	git diff HEAD~ >modediff &&
	test_cmp expected modediff
'

test_done
