From a74ddc24545ec45d0bb82ca2bb8f628ffdaa9da3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 10 Oct 2014 12:04:39 -0400
Subject: [PATCH] Improve relative path determination using Java 7 Paths

---
 src/main/java/com/gitblit/GitBlitServer.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java
index 4191e9b..c79b172 100644
--- a/src/main/java/com/gitblit/GitBlitServer.java
+++ b/src/main/java/com/gitblit/GitBlitServer.java
@@ -148,6 +148,15 @@
 		System.exit(0);
 	}
 
+	protected File getBaseFolder(Params params) {
+		String path = System.getProperty("GITBLIT_HOME", Params.baseFolder);
+		if (!StringUtils.isEmpty(System.getenv("GITBLIT_HOME"))) {
+			path = System.getenv("GITBLIT_HOME");
+		}
+
+		return new File(path).getAbsoluteFile();
+	}
+
 	/**
 	 * Stop Gitblt GO.
 	 */
@@ -170,7 +179,7 @@
 	 * Start Gitblit GO.
 	 */
 	protected final void start(Params params) {
-		final File baseFolder = new File(Params.baseFolder).getAbsoluteFile();
+		final File baseFolder = getBaseFolder(params);
 		FileSettings settings = params.FILESETTINGS;
 		if (!StringUtils.isEmpty(params.settingsfile)) {
 			if (new File(params.settingsfile).exists()) {
@@ -198,7 +207,9 @@
 				e.printStackTrace();
 			} finally {
 				try {
-					is.close();
+					if (is != null) {
+						is.close();
+					}
 				} catch (IOException e) {
 					e.printStackTrace();
 				}

--
Gitblit v1.9.1