From: Sean Date: Thu, 15 Jun 2006 21:26:21 +0000 (-0400) Subject: Add a "--notags" option for git-p4import. X-Git-Url: https://git.octo.it/?p=git.git;a=commitdiff_plain;h=ada7781dc3602e6efc052e5e0da37a63caae0489 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 --- diff --git a/Documentation/git-p4import.txt b/Documentation/git-p4import.txt index c198ff25..0858e5ef 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 ] [-t ] +`git-p4import` [-q|-v] [--notags] [--authors ] [-t ] `git-p4import` --stitch @@ -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 74172ab4..908941dd 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