git p4: standardize submit cancel due to unchanged template
When editing the submit template, if no change was made to it, git p4 offers a prompt "Submit anyway?". Answering "no" cancels the submit. Previously, a "no" answer behaves like a "[s]kip" answer to the failed-patch prompt, in that it proceeded to try to apply the rest of the commits. Instead, put users back into the new "[s]kip / [c]ontinue" loop so that they can decide. This makes both cases of patch failure behave identically. The return code of git p4 after a "no" answer is now the same as that for a "skip" due to failed patch; update a test to understand this. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7e5dd9f2cc
commit
5a41c16a81
@ -1262,6 +1262,7 @@ class P4Submit(Command, P4UserMap):
|
|||||||
|
|
||||||
if self.edit_template(fileName):
|
if self.edit_template(fileName):
|
||||||
# read the edited message and submit
|
# read the edited message and submit
|
||||||
|
ret = True
|
||||||
tmpFile = open(fileName, "rb")
|
tmpFile = open(fileName, "rb")
|
||||||
message = tmpFile.read()
|
message = tmpFile.read()
|
||||||
tmpFile.close()
|
tmpFile.close()
|
||||||
@ -1285,6 +1286,7 @@ class P4Submit(Command, P4UserMap):
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
# skip this patch
|
# skip this patch
|
||||||
|
ret = False
|
||||||
print "Submission cancelled, undoing p4 changes."
|
print "Submission cancelled, undoing p4 changes."
|
||||||
for f in editedFiles:
|
for f in editedFiles:
|
||||||
p4_revert(f)
|
p4_revert(f)
|
||||||
@ -1293,7 +1295,7 @@ class P4Submit(Command, P4UserMap):
|
|||||||
os.remove(f)
|
os.remove(f)
|
||||||
|
|
||||||
os.remove(fileName)
|
os.remove(fileName)
|
||||||
return True # success
|
return ret
|
||||||
|
|
||||||
# Export git tags as p4 labels. Create a p4 label and then tag
|
# Export git tags as p4 labels. Create a p4 label and then tag
|
||||||
# with that.
|
# with that.
|
||||||
|
@ -38,7 +38,7 @@ test_expect_success 'no config, unedited, say no' '
|
|||||||
cd "$git" &&
|
cd "$git" &&
|
||||||
echo line >>file1 &&
|
echo line >>file1 &&
|
||||||
git commit -a -m "change 3 (not really)" &&
|
git commit -a -m "change 3 (not really)" &&
|
||||||
printf "bad response\nn\n" | git p4 submit &&
|
printf "bad response\nn\n" | test_expect_code 1 git p4 submit &&
|
||||||
p4 changes //depot/... >wc &&
|
p4 changes //depot/... >wc &&
|
||||||
test_line_count = 2 wc
|
test_line_count = 2 wc
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user