summaryrefslogtreecommitdiff
path: root/contrib/fast-import
diff options
context:
space:
mode:
authorLibravatar Simon Hausmann <simon@lst.de>2007-02-10 10:05:29 +0100
committerLibravatar Simon Hausmann <simon@lst.de>2007-02-10 10:05:29 +0100
commit8718f3ec9a550c8c2419576a3765c20189029c99 (patch)
treebf7109450e82e9f4d9d671bedaf3f933816a3e24 /contrib/fast-import
parentMinor code cleanups. (diff)
downloadtgif-8718f3ec9a550c8c2419576a3765c20189029c99.tar.xz
Avoid the excessive use of git tags for every perforce change and instead just create one git tag for the last imported change.
Signed-off-by: Simon Hausmann <simon@lst.de>
Diffstat (limited to 'contrib/fast-import')
-rwxr-xr-xcontrib/fast-import/p4-fast-export.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/contrib/fast-import/p4-fast-export.py b/contrib/fast-import/p4-fast-export.py
index d1faa7c290..907a56dc8a 100755
--- a/contrib/fast-import/p4-fast-export.py
+++ b/contrib/fast-import/p4-fast-export.py
@@ -49,6 +49,9 @@ changeRange = ""
revision = ""
users = {}
initialParent = ""
+lastChange = ""
+lastCommitter = ""
+initialTag = ""
if prefix.find("@") != -1:
atIdx = prefix.index("@")
@@ -94,6 +97,8 @@ def p4Cmd(cmd):
def commit(details):
global initialParent
global users
+ global lastChange
+ global lastCommitter
epoch = details["time"]
author = details["user"]
@@ -147,11 +152,8 @@ def commit(details):
gitStream.write("\n")
- gitStream.write("tag p4/%s\n" % details["change"])
- gitStream.write("from %s\n" % branch);
- gitStream.write("tagger %s\n" % committer);
- gitStream.write("data 0\n\n")
-
+ lastChange = details["change"]
+ lastCommitter = committer
def getUserMap():
users = {}
@@ -173,6 +175,7 @@ if len(changeRange) == 0:
rev = int(output[tagIdx + 9 : caretIdx]) + 1
changeRange = "@%s,#head" % rev
initialParent = os.popen("git-rev-parse %s" % branch).read()[:-1]
+ initialTag = "p4/%s" % (int(rev) - 1)
except:
pass
@@ -244,10 +247,17 @@ else:
print ""
+gitStream.write("tag p4/%s\n" % lastChange)
+gitStream.write("from %s\n" % branch);
+gitStream.write("tagger %s\n" % lastCommitter);
+gitStream.write("data 0\n\n")
+
gitStream.close()
gitOutput.close()
gitError.close()
os.popen("git-repo-config p4.depotpath %s" % prefix).read()
+if len(initialTag) > 0:
+ os.popen("git tag -d %s" % initialTag).read()
sys.exit(0)