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@xxxxxxxxxxxx> --- Documentation/git-p4import.txt | 5 ++++- git-p4import.py | 12 ++++++++---- 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 reposit 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 -- 1.4.0.rc2 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html