diff options
author | Sean <seanlkml@sympatico.ca> | 2006-06-15 17:26:21 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-06-16 22:33:46 -0700 |
commit | ada7781dc3602e6efc052e5e0da37a63caae0489 (patch) | |
tree | 594c9a2711a409fdd04099508fc6d223f95f5cb0 | |
parent | 5b139a66fcac6ebe6a1ca483ced8cc70f65d3a78 (diff) | |
download | git-ada7781dc3602e6efc052e5e0da37a63caae0489.tar.gz git-ada7781dc3602e6efc052e5e0da37a63caae0489.tar.xz |
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.txt | 5 | ||||
-rw-r--r-- | git-p4import.py | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/Documentation/git-p4import.txt b/Documentation/git-p4import.txt index c198ff250..0858e5efb 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 74172ab45..908941dd7 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 |