From b170c59085538953c95eebe444a839249f25bff8 Mon Sep 17 00:00:00 2001
From: mrbytes <eguervos@msn.com>
Date: Mon, 13 Aug 2012 15:52:59 -0400
Subject: [PATCH] GitBlitWebApp_es.properties: up-to date with the last changes

---
 src/com/gitblit/GitBlit.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 46 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index dc53540..f52f229 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -58,6 +58,7 @@
 import org.eclipse.jgit.lib.StoredConfig;
 import org.eclipse.jgit.storage.file.WindowCache;
 import org.eclipse.jgit.storage.file.WindowCacheConfig;
+import org.eclipse.jgit.transport.ServiceMayNotContinueException;
 import org.eclipse.jgit.transport.resolver.FileResolver;
 import org.eclipse.jgit.transport.resolver.RepositoryResolver;
 import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException;
@@ -68,6 +69,7 @@
 import org.slf4j.LoggerFactory;
 
 import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.Constants.AuthorizationControl;
 import com.gitblit.Constants.FederationRequest;
 import com.gitblit.Constants.FederationStrategy;
 import com.gitblit.Constants.FederationToken;
@@ -512,9 +514,15 @@
 				userCookie = new Cookie(Constants.NAME, "");
 			} else {
 				// set cookie for login
-				char[] cookie = userService.getCookie(user);
-				userCookie = new Cookie(Constants.NAME, new String(cookie));
-				userCookie.setMaxAge(Integer.MAX_VALUE);
+				String cookie = userService.getCookie(user);
+				if (StringUtils.isEmpty(cookie)) {
+					// create empty cookie
+					userCookie = new Cookie(Constants.NAME, "");
+				} else {
+					// create real cookie
+					userCookie = new Cookie(Constants.NAME, cookie);
+					userCookie.setMaxAge(Integer.MAX_VALUE);
+				}
 			}
 			userCookie.setPath("/");
 			response.addCookie(userCookie);
@@ -735,7 +743,9 @@
 	public List<String> getRepositoryList() {
 		return JGitUtils.getRepositoryList(repositoriesFolder, 
 				settings.getBoolean(Keys.git.onlyAccessBareRepositories, false),
-				settings.getBoolean(Keys.git.searchRepositoriesSubfolders, true));
+				settings.getBoolean(Keys.git.searchRepositoriesSubfolders, true),
+				settings.getInteger(Keys.git.searchRecursionDepth, -1),
+				settings.getStrings(Keys.git.searchExclusions));
 	}
 
 	/**
@@ -772,6 +782,12 @@
 						+ new File(repositoriesFolder, repositoryName).getAbsolutePath(), e);
 			}
 		} catch (ServiceNotEnabledException e) {
+			r = null;
+			if (logError) {
+				logger.error("GitBlit.getRepository(String) failed to find "
+						+ new File(repositoriesFolder, repositoryName).getAbsolutePath(), e);
+			}
+		} catch (ServiceMayNotContinueException e) {
 			r = null;
 			if (logError) {
 				logger.error("GitBlit.getRepository(String) failed to find "
@@ -861,6 +877,8 @@
 			model.useDocs = getConfig(config, "useDocs", false);
 			model.accessRestriction = AccessRestrictionType.fromName(getConfig(config,
 					"accessRestriction", settings.getString(Keys.git.defaultAccessRestriction, null)));
+			model.authorizationControl = AuthorizationControl.fromName(getConfig(config,
+					"authorizationControl", settings.getString(Keys.git.defaultAuthorizationControl, null)));
 			model.showRemoteBranches = getConfig(config, "showRemoteBranches", false);
 			model.isFrozen = getConfig(config, "isFrozen", false);
 			model.showReadme = getConfig(config, "showReadme", false);
@@ -891,6 +909,21 @@
 		model.availableRefs = JGitUtils.getAvailableHeadTargets(r);
 		r.close();
 		return model;
+	}
+	
+	/**
+	 * Determines if this server has the requested repository.
+	 * 
+	 * @param name
+	 * @return true if the repository exists
+	 */
+	public boolean hasRepository(String repositoryName) {
+		Repository r = getRepository(repositoryName, false);
+		if (r == null) {
+			return false;
+		}
+		r.close();
+		return true;
 	}
 
 	/**
@@ -1081,6 +1114,8 @@
 				logger.error("Service not authorized", e);
 			} catch (ServiceNotEnabledException e) {
 				logger.error("Service not enabled", e);
+			} catch (ServiceMayNotContinueException e) {
+				logger.error("Service may not continue", e);
 			}
 		}
 
@@ -1118,6 +1153,7 @@
 		config.setBoolean(Constants.CONFIG_GITBLIT, null, "useTickets", repository.useTickets);
 		config.setBoolean(Constants.CONFIG_GITBLIT, null, "useDocs", repository.useDocs);
 		config.setString(Constants.CONFIG_GITBLIT, null, "accessRestriction", repository.accessRestriction.name());
+		config.setString(Constants.CONFIG_GITBLIT, null, "authorizationControl", repository.authorizationControl.name());
 		config.setBoolean(Constants.CONFIG_GITBLIT, null, "showRemoteBranches", repository.showRemoteBranches);
 		config.setBoolean(Constants.CONFIG_GITBLIT, null, "isFrozen", repository.isFrozen);
 		config.setBoolean(Constants.CONFIG_GITBLIT, null, "showReadme", repository.showReadme);
@@ -1823,9 +1859,13 @@
 		// ensure that the current values are updated in the setting models
 		for (String key : settings.getAllKeys(null)) {
 			SettingModel setting = settingsModel.get(key);
-			if (setting != null) {
-				setting.currentValue = settings.getString(key, "");
+			if (setting == null) {
+				// unreferenced setting, create a setting model
+				setting = new SettingModel();
+				setting.name = key;
+				settingsModel.add(setting);
 			}
+			setting.currentValue = settings.getString(key, "");			
 		}
 		settingsModel.pushScripts = getAllScripts();
 		return settingsModel;

--
Gitblit v1.9.1