From: Luke Diamand Date: Sat, 15 Sep 2012 21:52:19 GMT Subject: Re: [PATCHv2 03/12] git p4: remove submit failure options [a]pply and [w]rite 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: > 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 > --- > 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) >