From b9afce4d3db8dec34b22b07c952df814efc7335f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 02 Apr 2013 10:43:52 -0400
Subject: [PATCH] Simplify resource loading
---
src/main/java/com/gitblit/GitServlet.java | 46 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/gitblit/GitServlet.java b/src/main/java/com/gitblit/GitServlet.java
index 77be963..b64e44e 100644
--- a/src/main/java/com/gitblit/GitServlet.java
+++ b/src/main/java/com/gitblit/GitServlet.java
@@ -52,6 +52,7 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.client.Translation;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ClientLogger;
@@ -80,7 +81,7 @@
private GroovyScriptEngine gse;
private File groovyDir;
-
+
@Override
public void init(ServletConfig config) throws ServletException {
groovyDir = GitBlit.getGroovyScriptsFolder();
@@ -100,7 +101,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 +163,7 @@
return up;
}
});
+
super.init(new GitblitServletConfig(config));
}
@@ -294,9 +295,45 @@
return;
}
- UserModel user = getUserModel(rp);
+ UserModel user = getUserModel(rp);
RepositoryModel repository = GitBlit.self().getRepositoryModel(repositoryName);
+
+ if (repository.useIncrementalPushTags) {
+ // tag each pushed branch tip
+ String emailAddress = user.emailAddress == null ? rp.getRefLogIdent().getEmailAddress() : user.emailAddress;
+ PersonIdent userIdent = new PersonIdent(user.getDisplayName(), emailAddress);
+ for (ReceiveCommand cmd : commands) {
+ if (!cmd.getRefName().startsWith("refs/heads/")) {
+ // only tag branch ref changes
+ continue;
+ }
+
+ if (!ReceiveCommand.Type.DELETE.equals(cmd.getType())
+ && ReceiveCommand.Result.OK.equals(cmd.getResult())) {
+ String objectId = cmd.getNewId().getName();
+ String branch = cmd.getRefName().substring("refs/heads/".length());
+ // get translation based on the server's locale setting
+ String template = Translation.get("gb.incrementalPushTagMessage");
+ String msg = MessageFormat.format(template, branch);
+ String prefix;
+ if (StringUtils.isEmpty(repository.incrementalPushTagPrefix)) {
+ prefix = GitBlit.getString(Keys.git.defaultIncrementalPushTagPrefix, "r");
+ } else {
+ prefix = repository.incrementalPushTagPrefix;
+ }
+
+ JGitUtils.createIncrementalRevisionTag(
+ rp.getRepository(),
+ objectId,
+ userIdent,
+ prefix,
+ "0",
+ msg);
+ }
+ }
+ }
+
// log ref changes
for (ReceiveCommand cmd : commands) {
if (Result.OK.equals(cmd.getResult())) {
@@ -308,6 +345,9 @@
case CREATE:
logger.info(MessageFormat.format("{0} CREATED {1} in {2}", user.username, cmd.getRefName(), repository.name));
break;
+ case UPDATE:
+ logger.info(MessageFormat.format("{0} UPDATED {1} in {2} (from {3} to {4})", user.username, cmd.getRefName(), repository.name, cmd.getOldId().name(), cmd.getNewId().name()));
+ break;
case UPDATE_NONFASTFORWARD:
logger.info(MessageFormat.format("{0} UPDATED NON-FAST-FORWARD {1} in {2} (from {3} to {4})", user.username, cmd.getRefName(), repository.name, cmd.getOldId().name(), cmd.getNewId().name()));
break;
--
Gitblit v1.9.1