summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean <seanlkml@sympatico.ca>2006-06-15 21:26:21 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-06-17 05:33:46 (GMT)
commitada7781dc3602e6efc052e5e0da37a63caae0489 (patch)
tree594c9a2711a409fdd04099508fc6d223f95f5cb0
parent5b139a66fcac6ebe6a1ca483ced8cc70f65d3a78 (diff)
downloadgit-ada7781dc3602e6efc052e5e0da37a63caae0489.zip
git-ada7781dc3602e6efc052e5e0da37a63caae0489.tar.gz
git-ada7781dc3602e6efc052e5e0da37a63caae0489.tar.bz2
Add a "--notags" option for git-p4import.
P4import currently creates a git tag for every commit it imports. When importing from a large repository too many tags can be created for git to manage, so this provides an option to shut that feature off if necessary. Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
-rw-r--r--Documentation/git-p4import.txt5
-rw-r--r--git-p4import.py12
2 files changed, 12 insertions, 5 deletions
diff --git a/Documentation/git-p4import.txt b/Documentation/git-p4import.txt
index c198ff2..0858e5e 100644
--- a/Documentation/git-p4import.txt
+++ b/Documentation/git-p4import.txt
@@ -8,7 +8,7 @@ git-p4import - Import a Perforce repository into git
SYNOPSIS
--------
-`git-p4import` [-q|-v] [--authors <file>] [-t <timezone>] <//p4repo/path> <branch>
+`git-p4import` [-q|-v] [--notags] [--authors <file>] [-t <timezone>] <//p4repo/path> <branch>
`git-p4import` --stitch <//p4repo/path>
@@ -43,6 +43,9 @@ OPTIONS
Specify an authors file containing a mapping of Perforce user
ids to full names and email addresses (see Notes below).
+\--notags::
+ Do not create a tag for each imported commit.
+
\--stitch::
Import the contents of the given perforce branch into the
currently checked out git branch.
diff --git a/git-p4import.py b/git-p4import.py
index 74172ab..908941d 100644
--- a/git-p4import.py
+++ b/git-p4import.py
@@ -23,7 +23,6 @@ s = signal(SIGINT, SIG_DFL)
if s != default_int_handler:
signal(SIGINT, s)
-
def die(msg, *args):
for a in args:
msg = "%s %s" % (msg, a)
@@ -38,6 +37,7 @@ verbosity = 1
logfile = "/dev/null"
ignore_warnings = False
stitch = 0
+tagall = True
def report(level, msg, *args):
global verbosity
@@ -261,10 +261,9 @@ class git_command:
self.make_tag("p4/%s"%id, commit)
self.git("update-ref HEAD %s %s" % (commit, current) )
-
try:
opts, args = getopt.getopt(sys.argv[1:], "qhvt:",
- ["authors=","help","stitch=","timezone=","log=","ignore"])
+ ["authors=","help","stitch=","timezone=","log=","ignore","notags"])
except getopt.GetoptError:
usage()
@@ -275,6 +274,8 @@ for o, a in opts:
verbosity += 1
if o in ("--log"):
logfile = a
+ if o in ("--notags"):
+ tagall = False
if o in ("-h", "--help"):
usage()
if o in ("--ignore"):
@@ -350,7 +351,10 @@ for id in changes:
report(1, "Importing changeset", id)
change = p4.describe(id)
p4.sync(id)
- git.commit(change.author, change.email, change.date, change.msg, id)
+ if tagall :
+ git.commit(change.author, change.email, change.date, change.msg, id)
+ else:
+ git.commit(change.author, change.email, change.date, change.msg, "import")
if stitch == 1:
git.clean_directories()
stitch = 0