Re: [PATCHv2 03/12] git p4: remove submit failure options [a]pply and [w]rite
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) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv2 03/12] git p4: remove submit failure options [a]pply and [w]rite
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) -- 1.7.12.rc2.111.g96f7c73 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html