From 19c1af5650cd58228f78308d98a7c22f37e3dec3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 01 Apr 2013 08:09:29 -0400 Subject: [PATCH] Merge branch 'autotagpush' of https://github.com/akquinet/gitblit into pushtags --- src/main/java/com/gitblit/GitServlet.java | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gitblit/GitServlet.java b/src/main/java/com/gitblit/GitServlet.java index 77be963..cb47b32 100644 --- a/src/main/java/com/gitblit/GitServlet.java +++ b/src/main/java/com/gitblit/GitServlet.java @@ -23,6 +23,7 @@ import java.text.MessageFormat; import java.util.Collection; import java.util.Enumeration; +import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -32,7 +33,9 @@ import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.Part; +import org.eclipse.jgit.api.Git; import org.eclipse.jgit.http.server.resolver.DefaultReceivePackFactory; import org.eclipse.jgit.http.server.resolver.DefaultUploadPackFactory; import org.eclipse.jgit.lib.PersonIdent; @@ -80,7 +83,7 @@ private GroovyScriptEngine gse; private File groovyDir; - + @Override public void init(ServletConfig config) throws ServletException { groovyDir = GitBlit.getGroovyScriptsFolder(); @@ -100,7 +103,6 @@ @Override public ReceivePack create(HttpServletRequest req, Repository db) throws ServiceNotEnabledException, ServiceNotAuthorizedException { - // determine repository name from request String repositoryName = req.getPathInfo().substring(1); repositoryName = GitFilter.getRepositoryName(repositoryName); @@ -163,6 +165,7 @@ return up; } }); + super.init(new GitblitServletConfig(config)); } @@ -296,7 +299,28 @@ UserModel user = getUserModel(rp); RepositoryModel repository = GitBlit.self().getRepositoryModel(repositoryName); - + + if (repository.useIncrementalRevisionNumbers) { + List<ReceiveCommand> allCommands = rp.getAllCommands(); + String cmds = ""; + for (ReceiveCommand receiveCommand : allCommands) { + cmds += receiveCommand.getType() + "_" + + receiveCommand.getResult() + "_" + + receiveCommand.getMessage() + ", "; + if (receiveCommand.getType().equals( + ReceiveCommand.Type.UPDATE) + && receiveCommand.getResult().equals( + ReceiveCommand.Result.OK)) { + // if type=update and update was ok, autotag + String objectId = receiveCommand.getNewId().toString() + .replace("AnyObjectId[", "").replace("]", ""); + boolean result = JGitUtils + .createIncrementalRevisionTag( + rp.getRepository(), objectId); + } + } + } + // log ref changes for (ReceiveCommand cmd : commands) { if (Result.OK.equals(cmd.getResult())) { -- Gitblit v1.9.1