From 7e5dd9f2ccf2141d65e4621b765a136796b0d55b Mon Sep 17 00:00:00 2001 From: Pete Wyckoff Date: Sun, 9 Sep 2012 16:16:05 -0400 Subject: git p4: move conflict prompt into run, add [q]uit input When applying a commit to the p4 workspace fails, a prompt asks what to do next. This belongs up in run() instead of in applyCommit(), where run() can notice, for instance, that the prompt is unnecessary because this is the last commit. Offer two options about how to continue at conflict: [s]kip or [q]uit. Having an explicit "quit" option gives git p4 a chance to clean up, show the applied-commit summary, and do tag export. Signed-off-by: Pete Wyckoff Acked-by: Luke Diamand Signed-off-by: Junio C Hamano --- t/t9815-git-p4-submit-fail.sh | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 't/t9815-git-p4-submit-fail.sh') diff --git a/t/t9815-git-p4-submit-fail.sh b/t/t9815-git-p4-submit-fail.sh index 5c367141ce..397b3e857d 100755 --- a/t/t9815-git-p4-submit-fail.sh +++ b/t/t9815-git-p4-submit-fail.sh @@ -18,7 +18,7 @@ test_expect_success 'init depot' ' ) ' -test_expect_success 'conflict on one commit, skip' ' +test_expect_success 'conflict on one commit' ' test_when_finished cleanup_git && git p4 clone --dest="$git" //depot && ( @@ -34,12 +34,12 @@ test_expect_success 'conflict on one commit, skip' ' echo line3 >>file1 && git add file1 && git commit -m "line3 in file1 will conflict" && - echo s | test_expect_code 1 git p4 submit >out && + test_expect_code 1 git p4 submit >out && test_i18ngrep "No commits applied" out ) ' -test_expect_success 'conflict on second of two commits, skip' ' +test_expect_success 'conflict on second of two commits' ' test_when_finished cleanup_git && git p4 clone --dest="$git" //depot && ( @@ -57,7 +57,7 @@ test_expect_success 'conflict on second of two commits, skip' ' echo line4 >>file1 && git add file1 && git commit -m "line4 in file1 will conflict" && - echo s | test_expect_code 1 git p4 submit >out && + test_expect_code 1 git p4 submit >out && test_i18ngrep "Applied only the commits" out ) ' @@ -85,6 +85,29 @@ test_expect_success 'conflict on first of two commits, skip' ' ) ' +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_i18ngrep "No commits applied" out + ) +' + test_expect_success 'kill p4d' ' kill_p4d ' -- cgit v1.2.1