From 29a40c97f367a432e4038f20f09d7bf76ce4ab93 Mon Sep 17 00:00:00 2001
From: niphor <niphor@gmail.com>
Date: Tue, 24 Jun 2014 14:28:47 +0800
Subject: [PATCH] RepoRootPath must be absolute path

---
 modules/setting/setting.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 1298996396..cb7734bb32 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -182,6 +182,12 @@ func NewConfigContext() {
 		log.Fatal("Fail to get home directory: %v", err)
 	}
 	RepoRootPath = Cfg.MustValue("repository", "ROOT", filepath.Join(homeDir, "gogs-repositories"))
+	if !filepath.IsAbs(RepoRootPath) {
+		RepoRootPath = filepath.Join(workDir, RepoRootPath)
+	} else {
+		RepoRootPath = filepath.Clean(RepoRootPath)
+	}
+
 	if err = os.MkdirAll(RepoRootPath, os.ModePerm); err != nil {
 		log.Fatal("Fail to create repository root path(%s): %v", RepoRootPath, err)
 	}