From b23b67c1cc0b2541580f23c9aec97c0b84a823f4 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 21 Feb 2014 09:56:37 -0500
Subject: [PATCH] Select default/configured gc period in create/edit repository page

---
 src/main/java/com/gitblit/manager/RepositoryManager.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java
index 438d885..afa96b2 100644
--- a/src/main/java/com/gitblit/manager/RepositoryManager.java
+++ b/src/main/java/com/gitblit/manager/RepositoryManager.java
@@ -157,6 +157,8 @@
 		configureJGit();
 		configureCommitCache();
 
+		confirmWriteAccess();
+
 		return this;
 	}
 
@@ -457,6 +459,8 @@
 	public void resetRepositoryListCache() {
 		logger.info("Repository cache manually reset");
 		repositoryListCache.clear();
+		repositorySizeCache.clear();
+		repositoryMetricsCache.clear();
 	}
 
 	/**
@@ -975,7 +979,7 @@
 					settings.getStrings(Keys.git.searchExclusions));
 			for (String repository : repositories) {
 				RepositoryModel model = getRepositoryModel(userProject + "/" + repository);
-				if (model.originRepository.equalsIgnoreCase(origin)) {
+				if (model.originRepository != null && model.originRepository.equalsIgnoreCase(origin)) {
 					// user has a fork
 					return model.name;
 				}
@@ -1754,4 +1758,20 @@
 					daysToCache, commitCount, repoCount, TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start)));
 		}
 	}
+
+	protected void confirmWriteAccess() {
+		if (runtimeManager.isServingRepositories()) {
+			try {
+				File file = File.createTempFile(".test-", ".txt", getRepositoriesFolder());
+				file.delete();
+			} catch (Exception e) {
+				logger.error("");
+				logger.error(Constants.BORDER2);
+				logger.error("Please check filesystem permissions!");
+				logger.error("FAILED TO WRITE TO REPOSITORIES FOLDER!!", e);
+				logger.error(Constants.BORDER2);
+				logger.error("");
+			}
+		}
+	}
 }

--
Gitblit v1.9.1