3 test_description
='git p4 submit failure handling'
7 test_expect_success
'start p4d' '
11 test_expect_success
'init depot' '
14 p4 client -o | sed "/LineEnd/s/:.*/:unix/" | p4 client -i &&
17 p4 submit -d "line1 in file1"
21 test_expect_success
'conflict on one commit, skip' '
22 test_when_finished cleanup_git &&
23 git p4 clone --dest="$git" //depot &&
28 p4 submit -d "line2 in file1"
31 # now this commit should cause a conflict
33 git config git-p4.skipSubmitEdit true &&
36 git commit -m "line3 in file1 will conflict" &&
37 echo s | test_expect_code 1 git p4 submit >out &&
38 test_i18ngrep "No commits applied" out
42 test_expect_success
'conflict on second of two commits, skip' '
43 test_when_finished cleanup_git &&
44 git p4 clone --dest="$git" //depot &&
49 p4 submit -d "line3 in file1"
53 git config git-p4.skipSubmitEdit true &&
55 test_commit "first_commit_okay" &&
56 # now this submit should cause a conflict
59 git commit -m "line4 in file1 will conflict" &&
60 echo s | test_expect_code 1 git p4 submit >out &&
61 test_i18ngrep "Applied only the commits" out
65 test_expect_success
'conflict on first of two commits, skip' '
66 test_when_finished cleanup_git &&
67 git p4 clone --dest="$git" //depot &&
72 p4 submit -d "line4 in file1"
76 git config git-p4.skipSubmitEdit true &&
77 # this submit should cause a conflict
80 git commit -m "line5 in file1 will conflict" &&
81 # but this commit is okay
82 test_commit "okay_commit_after_skip" &&
83 echo s | test_expect_code 1 git p4 submit >out &&
84 test_i18ngrep "Applied only the commits" out
88 test_expect_success
'kill p4d' '