From aa61fc86db4f5ebf645ecf69c6f5ec36f2973e5a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 21 Feb 2014 11:14:47 -0500
Subject: [PATCH] Add GO launch parameter to specify daily, rolling log file generation

---
 src/main/java/com/gitblit/git/GitblitReceivePack.java |   44 +++++++++++++++++---------------------------
 1 files changed, 17 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitblitReceivePack.java b/src/main/java/com/gitblit/git/GitblitReceivePack.java
index 95d17fa..1678a70 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePack.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePack.java
@@ -44,10 +44,10 @@
 
 import com.gitblit.Constants;
 import com.gitblit.Constants.AccessRestrictionType;
-import com.gitblit.GitBlit;
 import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
 import com.gitblit.client.Translation;
+import com.gitblit.manager.IGitblit;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.ArrayUtils;
@@ -85,16 +85,14 @@
 
 	protected String gitblitUrl;
 
-	protected String repositoryUrl;
-
 	protected GroovyScriptEngine gse;
 
-	private final IStoredSettings settings;
+	protected final IStoredSettings settings;
 
-	private final GitBlit gitblit;
+	protected final IGitblit gitblit;
 
 	public GitblitReceivePack(
-			GitBlit gitblit,
+			IGitblit gitblit,
 			Repository db,
 			RepositoryModel repository,
 			UserModel user) {
@@ -167,8 +165,11 @@
 		if (repository.accessRestriction.atLeast(AccessRestrictionType.PUSH) && repository.verifyCommitter) {
 			// enforce committer verification
 			if (StringUtils.isEmpty(user.emailAddress)) {
-				// emit warning if user does not have an email address
-				LOGGER.warn(MessageFormat.format("Consider setting an email address for {0} ({1}) to improve committer verification.", user.getDisplayName(), user.username));
+				// reject the push because the pushing account does not have an email address
+				for (ReceiveCommand cmd : commands) {
+					sendRejection(cmd, "Sorry, the account \"{0}\" does not have an email address set for committer verification!", user.username);
+				}
+				return;
 			}
 
 			// Optionally enforce that the committer of first parent chain
@@ -201,16 +202,9 @@
 
 						PersonIdent committer = commit.getCommitterIdent();
 						if (!user.is(committer.getName(), committer.getEmailAddress())) {
-							String reason;
-							if (StringUtils.isEmpty(user.emailAddress)) {
-								// account does not have an email address
-								reason = MessageFormat.format("{0} by {1} <{2}> was not committed by {3} ({4})",
-										commit.getId().name(), committer.getName(), StringUtils.isEmpty(committer.getEmailAddress()) ? "?":committer.getEmailAddress(), user.getDisplayName(), user.username);
-							} else {
-								// account has an email address
-								reason = MessageFormat.format("{0} by {1} <{2}> was not committed by {3} ({4}) <{5}>",
-										commit.getId().name(), committer.getName(), StringUtils.isEmpty(committer.getEmailAddress()) ? "?":committer.getEmailAddress(), user.getDisplayName(), user.username, user.emailAddress);
-							}
+							// verification failed
+							String reason = MessageFormat.format("{0} by {1} <{2}> was not committed by {3} ({4}) <{5}>",
+									commit.getId().name(), committer.getName(), StringUtils.isEmpty(committer.getEmailAddress()) ? "?":committer.getEmailAddress(), user.getDisplayName(), user.username, user.emailAddress);
 							LOGGER.warn(reason);
 							cmd.setResult(Result.REJECTED_OTHER_REASON, reason);
 							allRejected &= true;
@@ -230,13 +224,13 @@
 			}
 		}
 
-		// reset branch commit cache on REWIND and DELETE
 		for (ReceiveCommand cmd : commands) {
 			String ref = cmd.getRefName();
 			if (ref.startsWith(Constants.R_HEADS)) {
 				switch (cmd.getType()) {
 				case UPDATE_NONFASTFORWARD:
 				case DELETE:
+					// reset branch commit cache on REWIND and DELETE
 					CommitCache.instance().clear(repository.name, ref);
 					break;
 				default:
@@ -394,10 +388,6 @@
 		this.gitblitUrl = url;
 	}
 
-	protected void setRepositoryUrl(String url) {
-		this.repositoryUrl = url;
-	}
-
 	protected void sendRejection(final ReceiveCommand cmd, final String why, Object... objects) {
 		String text;
 		if (ArrayUtils.isEmpty(objects)) {
@@ -410,14 +400,14 @@
 	}
 
 	protected void sendHeader(String msg, Object... objects) {
-		sendMessage("--->", msg, objects);
+		sendInfo("--> ", msg, objects);
 	}
 
-	protected void sendMessage(String msg, Object... objects) {
-		sendMessage("    ", msg, objects);
+	protected void sendInfo(String msg, Object... objects) {
+		sendInfo("    ", msg, objects);
 	}
 
-	protected void sendMessage(String prefix, String msg, Object... objects) {
+	protected void sendInfo(String prefix, String msg, Object... objects) {
 		String text;
 		if (ArrayUtils.isEmpty(objects)) {
 			text = msg;

--
Gitblit v1.9.1