From 088b6f33671697dc8c15197b0a63eecf6d74f75f Mon Sep 17 00:00:00 2001 From: James Moger Date: Fri, 29 Nov 2013 12:10:53 -0500 Subject: Added filesystem write permission check (issue-345) Change-Id: I0a3aced3b8e9887347888c85e469b74fc70931ad --- .../java/com/gitblit/manager/RepositoryManager.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/com/gitblit/manager/RepositoryManager.java') diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java index 0a3f6631..d24a06db 100644 --- a/src/main/java/com/gitblit/manager/RepositoryManager.java +++ b/src/main/java/com/gitblit/manager/RepositoryManager.java @@ -157,6 +157,8 @@ public class RepositoryManager implements IRepositoryManager { configureJGit(); configureCommitCache(); + confirmWriteAccess(); + return this; } @@ -1756,4 +1758,20 @@ public class RepositoryManager implements IRepositoryManager { 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(""); + } + } + } } -- cgit v1.2.3