Show 62 quoted lines
> 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>
> ---
> git-p4.py | 4 +++-
> t/t9805-git-p4-skip-submit-edit.sh | 2 +-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index 479f1fc..39fa2e1 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -1262,6 +1262,7 @@ class P4Submit(Command, P4UserMap):
>
> if self.edit_template(fileName):
> # read the edited message and submit
> + ret = True
> tmpFile = open(fileName, "rb")
> message = tmpFile.read()
> tmpFile.close()
> @@ -1285,6 +1286,7 @@ class P4Submit(Command, P4UserMap):
>
> else:
> # skip this patch
> + ret = False
> print "Submission cancelled, undoing p4 changes."
> for f in editedFiles:
> p4_revert(f)
> @@ -1293,7 +1295,7 @@ class P4Submit(Command, P4UserMap):
> os.remove(f)
>
> os.remove(fileName)
> - return True # success
> + return ret
>
> # Export git tags as p4 labels. Create a p4 label and then tag
> # with that.
> diff --git a/t/t9805-git-p4-skip-submit-edit.sh b/t/t9805-git-p4-skip-submit-edit.sh
> index fb3c8ec..ff2cc79 100755
> --- a/t/t9805-git-p4-skip-submit-edit.sh
> +++ b/t/t9805-git-p4-skip-submit-edit.sh
> @@ -38,7 +38,7 @@ test_expect_success 'no config, unedited, say no' '
> cd "$git"&&
> echo line>>file1&&
> 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&&
> test_line_count = 2 wc
> )