saheba
2013-03-25 99f359e07087d826fdb024e4d205c2cb645f1d2a
src/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;
@@ -82,6 +85,11 @@
   private File groovyDir;
   @Override
   public void destroy() {
      super.destroy();
   }
   @Override
   public void init(ServletConfig config) throws ServletException {
      groovyDir = GitBlit.getGroovyScriptsFolder();
      try {
@@ -100,8 +108,9 @@
         @Override
         public ReceivePack create(HttpServletRequest req, Repository db)
               throws ServiceNotEnabledException, ServiceNotAuthorizedException {
            // determine repository name from request
            org.eclipse.jgit.http.server.glue.WrappedRequest wrreq = (org.eclipse.jgit.http.server.glue.WrappedRequest) req;
            String repositoryName = req.getPathInfo().substring(1);
            repositoryName = GitFilter.getRepositoryName(repositoryName);
            
@@ -163,6 +172,7 @@
            return up;
         }
      });
      super.init(new GitblitServletConfig(config));
   }
@@ -296,7 +306,33 @@
         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)) {
                  String objectId = receiveCommand.getNewId().toString()
                        .replace("AnyObjectId[", "").replace("]", "");
                  System.err.println("SHB id " + objectId);
                  System.err.println("SHB id "
                        + objectId.getBytes().length);
                  // if type=update and update was ok, autotag
                  boolean result = JGitUtils
                        .createIncrementalRevisionTag(
                              rp.getRepository(), objectId);
                  System.err.println("SHB res " + result);
               }
            }
            System.err.println("SHB cmds: " + cmds);
         }
         // log ref changes
         for (ReceiveCommand cmd : commands) {
            if (Result.OK.equals(cmd.getResult())) {