Simplify the incremental import by elimination the need for a temporary import branch.

It turns out that git fast-import can "resume" from an existing branch just fine.

Signed-off-by: Simon Hausmann <hausmann@kde.org>
This commit is contained in:
Simon Hausmann 2007-02-01 08:23:39 +01:00
Родитель 61b3cf7c47
Коммит f16255f559
1 изменённых файлов: 3 добавлений и 18 удалений

Просмотреть файл

@ -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 ""