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 <pw@padd.com>
Acked-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
parent
67b0fe2eb6
commit
449bb9cf1a
20
git-p4.py
20
git-p4.py
|
|
@ -1200,9 +1200,8 @@ class P4Submit(Command, P4UserMap):
|
||||||
if not patch_succeeded:
|
if not patch_succeeded:
|
||||||
print "What do you want to do?"
|
print "What do you want to do?"
|
||||||
response = "x"
|
response = "x"
|
||||||
while response != "s" and response != "a" and response != "w":
|
while response != "s":
|
||||||
response = raw_input("[s]kip this patch / [a]pply the patch forcibly "
|
response = raw_input("[s]kip this patch ")
|
||||||
"and with .rej files / [w]rite the patch to a file (patch.txt) ")
|
|
||||||
if response == "s":
|
if response == "s":
|
||||||
print "Skipping! Good luck with the next patches..."
|
print "Skipping! Good luck with the next patches..."
|
||||||
for f in editedFiles:
|
for f in editedFiles:
|
||||||
|
|
@ -1210,21 +1209,6 @@ class P4Submit(Command, P4UserMap):
|
||||||
for f in filesToAdd:
|
for f in filesToAdd:
|
||||||
os.remove(f)
|
os.remove(f)
|
||||||
return False
|
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)
|
system(applyPatchCmd)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue