#!/bin/sh

test_description='git p4 submit failure handling'

. ./lib-git-p4.sh

test_expect_success 'start p4d' '
	start_p4d
'

test_expect_success 'init depot' '
	(
		cd "$cli" &&
		p4 client -o | sed "/LineEnd/s/:.*/:unix/" | p4 client -i &&
		echo line1 >file1 &&
		p4 add file1 &&
		p4 submit -d "line1 in file1"
	)
'

test_expect_success 'conflict on one commit' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo line2 >>file1 &&
		p4 submit -d "line2 in file1"
	) &&
	(
		# now this commit should cause a conflict
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		echo line3 >>file1 &&
		git add file1 &&
		git commit -m "line3 in file1 will conflict" &&
		test_expect_code 1 git p4 submit >out &&
		test_grep "No commits applied" out
	)
'

test_expect_success 'conflict on second of two commits' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo line3 >>file1 &&
		p4 submit -d "line3 in file1"
	) &&
	(
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		# this commit is okay
		test_commit "first_commit_okay" &&
		# now this submit should cause a conflict
		echo line4 >>file1 &&
		git add file1 &&
		git commit -m "line4 in file1 will conflict" &&
		test_expect_code 1 git p4 submit >out &&
		test_grep "Applied only the commits" out
	)
'

test_expect_success 'conflict on first of two commits, skip' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo line4 >>file1 &&
		p4 submit -d "line4 in file1"
	) &&
	(
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		# this submit should cause a conflict
		echo line5 >>file1 &&
		git add file1 &&
		git commit -m "line5 in file1 will conflict" &&
		# but this commit is okay
		test_commit "okay_commit_after_skip" &&
		echo s | test_expect_code 1 git p4 submit >out &&
		test_grep "Applied only the commits" out
	)
'

test_expect_success 'conflict on first of two commits, quit' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo line7 >>file1 &&
		p4 submit -d "line7 in file1"
	) &&
	(
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		# this submit should cause a conflict
		echo line8 >>file1 &&
		git add file1 &&
		git commit -m "line8 in file1 will conflict" &&
		# but this commit is okay
		test_commit "okay_commit_after_quit" &&
		echo q | test_expect_code 1 git p4 submit >out &&
		test_grep "No commits applied" out
	)
'

test_expect_success 'conflict cli and config options' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		git p4 submit --conflict=ask &&
		git p4 submit --conflict=skip &&
		git p4 submit --conflict=quit &&
		test_expect_code 2 git p4 submit --conflict=foo &&
		test_expect_code 2 git p4 submit --conflict &&
		git config git-p4.conflict foo &&
		test_expect_code 1 git p4 submit &&
		git config --unset git-p4.conflict &&
		git p4 submit
	)
'

test_expect_success 'conflict on first of two commits, --conflict=skip' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo line9 >>file1 &&
		p4 submit -d "line9 in file1"
	) &&
	(
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		# this submit should cause a conflict
		echo line10 >>file1 &&
		git add file1 &&
		git commit -m "line10 in file1 will conflict" &&
		# but this commit is okay
		test_commit "okay_commit_after_auto_skip" &&
		test_expect_code 1 git p4 submit --conflict=skip >out &&
		test_grep "Applied only the commits" out
	)
'

test_expect_success 'conflict on first of two commits, --conflict=quit' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo line11 >>file1 &&
		p4 submit -d "line11 in file1"
	) &&
	(
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		# this submit should cause a conflict
		echo line12 >>file1 &&
		git add file1 &&
		git commit -m "line12 in file1 will conflict" &&
		# but this commit is okay
		test_commit "okay_commit_after_auto_quit" &&
		test_expect_code 1 git p4 submit --conflict=quit >out &&
		test_grep "No commits applied" out
	)
'

#
# Cleanup after submit fail, all cases.  Some modifications happen
# before trying to apply the patch.  Make sure these are unwound
# properly.  Put each one in a diff along with something that will
# obviously conflict.  Make sure it is back to normal after.
#

test_expect_success 'cleanup edit p4 populate' '
	(
		cd "$cli" &&
		echo text file >text &&
		p4 add text &&
		echo text+x file >text+x &&
		chmod 755 text+x &&
		p4 add text+x &&
		p4 submit -d "populate p4"
	)
'

setup_conflict() {
	# clone before modifying file1 to force it to conflict
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	# ticks outside subshells
	test_tick &&
	(
		cd "$cli" &&
		p4 open file1 &&
		echo $test_tick >>file1 &&
		p4 submit -d "$test_tick in file1"
	) &&
	test_tick &&
	(
		cd "$git" &&
		git config git-p4.skipSubmitEdit true &&
		# easy conflict
		echo $test_tick >>file1 &&
		git add file1
		# caller will add more and submit
	)
}

test_expect_success 'cleanup edit after submit fail' '
	setup_conflict &&
	(
		cd "$git" &&
		echo another line >>text &&
		git add text &&
		git commit -m "conflict" &&
		test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		# make sure it is not open
		! p4 fstat -T action text
	)
'

test_expect_success 'cleanup add after submit fail' '
	setup_conflict &&
	(
		cd "$git" &&
		echo new file >textnew &&
		git add textnew &&
		git commit -m "conflict" &&
		test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		# make sure it is not there
		# and that p4 thinks it is not added
		#   P4 returns 0 both for "not there but added" and
		#   "not there", so grep.
		test_path_is_missing textnew &&
		p4 fstat -T action textnew 2>&1 | grep "no such file"
	)
'

test_expect_success 'cleanup delete after submit fail' '
	setup_conflict &&
	(
		cd "$git" &&
		git rm text+x &&
		git commit -m "conflict" &&
		test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		# make sure it is there
		test_path_is_file text+x &&
		! p4 fstat -T action text+x
	)
'

test_expect_success 'cleanup copy after submit fail' '
	setup_conflict &&
	(
		cd "$git" &&
		cp text text2 &&
		git add text2 &&
		git commit -m "conflict" &&
		git config git-p4.detectCopies true &&
		git config git-p4.detectCopiesHarder true &&
		# make sure setup is okay
		git diff-tree -r -C --find-copies-harder HEAD | grep text2 | grep C100 &&
		test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_missing text2 &&
		p4 fstat -T action text2 2>&1 | grep "no such file"
	)
'

test_expect_success 'cleanup rename after submit fail' '
	setup_conflict &&
	(
		cd "$git" &&
		git mv text text2 &&
		git commit -m "conflict" &&
		git config git-p4.detectRenames true &&
		# make sure setup is okay
		git diff-tree -r -M HEAD | grep text2 | grep R100 &&
		test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_missing text2 &&
		p4 fstat -T action text2 2>&1 | grep "no such file"
	)
'

#
# Cleanup after deciding not to submit during editTemplate.  This
# involves unwinding more work, because files have been added, deleted
# and chmod-ed now.  Same approach as above.
#

test_expect_success 'cleanup edit after submit cancel' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		echo line >>text &&
		git add text &&
		git commit -m text &&
		echo n | test_expect_code 1 git p4 submit &&
		git reset --hard HEAD^
	) &&
	(
		cd "$cli" &&
		! p4 fstat -T action text &&
		test_cmp "$git"/text text
	)
'

test_expect_success 'cleanup add after submit cancel' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		echo line >textnew &&
		git add textnew &&
		git commit -m textnew &&
		echo n | test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_missing textnew &&
		p4 fstat -T action textnew 2>&1 | grep "no such file"
	)
'

test_expect_success 'cleanup delete after submit cancel' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		git rm text &&
		git commit -m "rm text" &&
		echo n | test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_file text &&
		! p4 fstat -T action text
	)
'

test_expect_success 'cleanup copy after submit cancel' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		cp text text2 &&
		git add text2 &&
		git commit -m text2 &&
		git config git-p4.detectCopies true &&
		git config git-p4.detectCopiesHarder true &&
		git diff-tree -r -C --find-copies-harder HEAD | grep text2 | grep C100 &&
		echo n | test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_missing text2 &&
		p4 fstat -T action text2 2>&1 | grep "no such file"
	)
'

test_expect_success 'cleanup rename after submit cancel' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		git mv text text2 &&
		git commit -m text2 &&
		git config git-p4.detectRenames true &&
		git diff-tree -r -M HEAD | grep text2 | grep R100 &&
		echo n | test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_missing text2 &&
		p4 fstat -T action text2 2>&1 | grep "no such file" &&
		test_path_is_file text &&
		! p4 fstat -T action text
	)
'

test_expect_success 'cleanup chmod after submit cancel' '
	test_when_finished cleanup_git &&
	git p4 clone --dest="$git" //depot &&
	(
		cd "$git" &&
		test_chmod +x text &&
		test_chmod -x text+x &&
		git add text text+x &&
		git commit -m "chmod texts" &&
		echo n | test_expect_code 1 git p4 submit
	) &&
	(
		cd "$cli" &&
		test_path_is_file text &&
		! p4 fstat -T action text &&
		test_path_is_file text+x &&
		! p4 fstat -T action text+x &&
		ls -l text | grep -E ^-r-- &&
		ls -l text+x | grep -E ^-r-x
	)
'

test_done
