Code

Don't show the submit template and the diff first in less but show it in $editor...
authorSimon Hausmann <simon@lst.de>
Wed, 21 Mar 2007 20:04:12 +0000 (21:04 +0100)
committerSimon Hausmann <simon@lst.de>
Wed, 21 Mar 2007 20:04:12 +0000 (21:04 +0100)
Signed-off-by: Simon Hausmann <simon@lst.de>
contrib/fast-import/git-p4.py

index f940e93bad1db606f128acd601b5d271f8e0a1ed..06858844e591f93a1fcf64a12e37b6e0fb4d5401 100755 (executable)
@@ -235,24 +235,26 @@ class P4Sync(Command):
                     diff += "+" + line
                 f.close()
 
-            pipe = os.popen("less", "w")
-            pipe.write(submitTemplate + diff)
-            pipe.close()
+            separatorLine = "######## everything below this line is just the diff #######\n"
 
             response = "e"
+            firstIteration = True
             while response == "e":
-                response = raw_input("Do you want to submit this change (y/e/n)? ")
+                if not firstIteration:
+                    response = raw_input("Do you want to submit this change (y/e/n)? ")
+                firstIteration = False
                 if response == "e":
                     [handle, fileName] = tempfile.mkstemp()
                     tmpFile = os.fdopen(handle, "w+")
-                    tmpFile.write(submitTemplate)
+                    tmpFile.write(submitTemplate + separatorLine + diff)
                     tmpFile.close()
                     editor = os.environ.get("EDITOR", "vi")
                     system(editor + " " + fileName)
                     tmpFile = open(fileName, "r")
-                    submitTemplate = tmpFile.read()
+                    message = tmpFile.read()
                     tmpFile.close()
                     os.remove(fileName)
+                    submitTemplate = message[:message.index(separatorLine)]
 
             if response == "y" or response == "yes":
                if self.dryRun: