Code

Simplify the incremental import by elimination the need for a temporary import branch.
authorSimon Hausmann <hausmann@kde.org>
Thu, 1 Feb 2007 07:23:39 +0000 (08:23 +0100)
committerSimon Hausmann <hausmann@kde.org>
Thu, 1 Feb 2007 07:23:39 +0000 (08:23 +0100)
It turns out that git fast-import can "resume" from an existing branch just fine.

Signed-off-by: Simon Hausmann <hausmann@kde.org>
contrib/fast-import/p4-fast-export.py

index da3eb35841c5bdb807dab4c929daa4320a39956f..c5b15206b1dedab826fd4a3b09713b55a58a4d05 100755 (executable)
@@ -7,11 +7,7 @@
 #
 # TODO:
 #       - support integrations (at least p4i)
-#       - support incremental imports
-#       - create tags
-#       - instead of reading all files into a variable try to pipe from
 #       - support p4 submit (hah!)
-#       - don't hardcode the import to master
 #
 import os, string, sys, time
 import marshal, popen2
@@ -26,8 +22,7 @@ if len(sys.argv) != 2:
     print ""
     sys.exit(1)
 
-master = "refs/heads/p4"
-branch = "refs/heads/p4-import"
+branch = "refs/heads/p4"
 prefix = sys.argv[1]
 changeRange = ""
 try:
@@ -74,24 +69,18 @@ def getUserMap():
 users = getUserMap()
 topMerge = ""
 
-incremental = 0
-# try incremental import
 if len(changeRange) == 0:
     try:
-        sout, sin, serr = popen2.popen3("git-name-rev --tags `git-rev-parse %s`" % master)
+        sout, sin, serr = popen2.popen3("git-name-rev --tags `git-rev-parse %s`" % branch)
         output = sout.read()
         tagIdx = output.index(" tags/p4/")
         caretIdx = output.index("^")
         revision = int(output[tagIdx + 9 : caretIdx]) + 1
         changeRange = "@%s,#head" % revision
-        topMerge = os.popen("git-rev-parse %s" % master).read()[:-1]
-        incremental = 1
+        topMerge = os.popen("git-rev-parse %s" % branch).read()[:-1]
     except:
         pass
 
-if incremental == 0:
-    branch = master
-
 output = os.popen("p4 changes %s...%s" % (prefix, changeRange)).readlines()
 
 changes = []
@@ -181,8 +170,4 @@ gitStream.close()
 gitOutput.close()
 gitError.close()
 
-if incremental == 1:
-    os.popen("git rebase p4-import p4")
-    os.popen("git branch -d p4-import")
-
 print ""