Re: [PATCH] git-p4.py: fix --prepare-p4-only error with multiple commits
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 1, 2020, 18:39 UTC
- Message-ID
- <xmqq1ro3mrd5.fsf@gitster.c.googlers.com>
- In-Reply-To
- <pull.775.git.git.1588352952840.gitgitgadget@gmail.com>
"Ben Keene via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 20 quoted lines
> From: Ben Keene <seraphire@gmail.com> > > When using git p4 submit with the --prepare-p4-only option, the program > should prepare a single p4 changelist and notify the user that more > commits are pending and then stop processing. > > A bug has been introduced by the p4-changelist hook feature that > causes the program to continue to try and process all pending > changelists at the same time. > > The function applyCommit should return True when applying the commit > was successful and the program should continue. In the case of the > --prepare-p4-only flag, the function should return False, alerting the > caller that the program should not proceed with additional commits. > > Change the return value from True to False in the applyCommit function > when git-p4 is executed with --prepare-p4-only flag. > > Signed-off-by: Ben Keene <seraphire@gmail.com> > ---
I do not do P4, so asking those who touched the program in the past year and half for opinions.
Thanks.
Show 31 quoted lines
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-775%2Fseraphire%2Fseraphire%2Fp4-hook-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-775/seraphire/seraphire/p4-hook-v1
> Pull-Request: https://github.com/git/git/pull/775
>
> git-p4.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index b8b2a1679e7..d9ced1bf552 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -1984,7 +1984,7 @@ def get_diff_description(self, editedFiles, filesToAdd, symlinks):
> return (diff + newdiff).replace('\r\n', '\n')
>
> def applyCommit(self, id):
> - """Apply one commit, return True if it succeeded."""
> + """Apply one commit, return True if it should continue processing."""
>
> print("Applying", read_pipe(["git", "show", "-s",
> "--format=format:%h %s", id]))
> @@ -2222,7 +2222,7 @@ def applyCommit(self, id):
> print(" " + f)
> print("")
> sys.stdout.flush()
> - return True
> + return False
>
> if self.edit_template(fileName):
> if not self.no_verify:
>
> base-commit: d61d20c9b413225793f8a0b491bbbec61c184e26