Re: [PATCHv2 03/12] git p4: remove submit failure options [a]pply and [w]rite
- From
Luke Diamand <luke@diamand.org>
- Date
- Sep 15, 2012, 21:52 UTC
- Message-ID
- <5054F893.3040704@diamand.org>
- In-Reply-To
- <1347221773-12773-4-git-send-email-pw@padd.com>
git-p4 won't be quite the same without these completely misleading and confusing messages :-)
Ack.
On 09/09/12 21:16, Pete Wyckoff wrote:
Show 69 quoted lines
> When a patch failed to apply, these interactive options offered
> to:
>
> 1) apply the patch anyway, leaving reject (.rej) files around, or,
> 2) write the patch to a file (patch.txt)
>
> In both cases it suggested to invoke "git p4 submit --continue",
> an unimplemented option.
>
> While manually fixing the rejects and submitting the result might
> work, there are many steps that must be done to the job properly:
>
> * apply patch
> * invoke p4 add and delete
> * change executable bits
> * p4 sync -f renamed/copied files
> * extract commit message into p4 change description and
> move Jobs lines out of description section
> * set changelist owner for --preserve-user
>
> Plus the following manual sync/rebase will cause conflicts too,
> which must be resolved once again.
>
> Drop these workflows. Instead users should do a sync/rebase in
> git, fix the conflicts there, and do a clean "git p4 submit".
>
> Signed-off-by: Pete Wyckoff<pw@padd.com>
> ---
> git-p4.py | 20 ++------------------
> 1 file changed, 2 insertions(+), 18 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index 2405f38..e08fea1 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -1200,9 +1200,8 @@ class P4Submit(Command, P4UserMap):
> if not patch_succeeded:
> print "What do you want to do?"
> response = "x"
> - while response != "s" and response != "a" and response != "w":
> - response = raw_input("[s]kip this patch / [a]pply the patch forcibly "
> - "and with .rej files / [w]rite the patch to a file (patch.txt) ")
> + while response != "s":
> + response = raw_input("[s]kip this patch ")
> if response == "s":
> print "Skipping! Good luck with the next patches..."
> for f in editedFiles:
> @@ -1210,21 +1209,6 @@ class P4Submit(Command, P4UserMap):
> for f in filesToAdd:
> os.remove(f)
> return False
> - elif response == "a":
> - os.system(applyPatchCmd)
> - if len(filesToAdd)> 0:
> - print "You may also want to call p4 add on the following files:"
> - print " ".join(filesToAdd)
> - if len(filesToDelete):
> - print "The following files should be scheduled for deletion with p4 delete:"
> - print " ".join(filesToDelete)
> - die("Please resolve and submit the conflict manually and "
> - + "continue afterwards with git p4 submit --continue")
> - elif response == "w":
> - system(diffcmd + "> patch.txt")
> - print "Patch saved to patch.txt in %s !" % self.clientPath
> - die("Please resolve and submit the conflict manually and "
> - "continue afterwards with git p4 submit --continue")
>
> system(applyPatchCmd)
>