From abab3a4e2bc221eb358f846f171cb24fc0f687ad Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 03 Jul 2013 08:16:39 -0400
Subject: [PATCH] Support hot-reloading of project.mkd

---
 src/test/java/com/gitblit/tests/GitBlitSuite.java |   35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/test/java/com/gitblit/tests/GitBlitSuite.java b/src/test/java/com/gitblit/tests/GitBlitSuite.java
index 005c39f..a226329 100644
--- a/src/test/java/com/gitblit/tests/GitBlitSuite.java
+++ b/src/test/java/com/gitblit/tests/GitBlitSuite.java
@@ -25,7 +25,7 @@
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.RepositoryCache;
 import org.eclipse.jgit.lib.RepositoryCache.FileKey;
-import org.eclipse.jgit.storage.file.FileRepository;
+import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
 import org.eclipse.jgit.util.FS;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -60,10 +60,14 @@
 		DiffUtilsTest.class, MetricUtilsTest.class, TicgitUtilsTest.class, X509UtilsTest.class,
 		GitBlitTest.class, FederationTests.class, RpcTests.class, GitServletTest.class, GitDaemonTest.class,
 		GroovyScriptTest.class, LuceneExecutorTest.class, IssuesTest.class, RepositoryModelTest.class,
-		FanoutServiceTest.class })
+		FanoutServiceTest.class, Issue0259Test.class })
 public class GitBlitSuite {
 
 	public static final File REPOSITORIES = new File("data/git");
+	
+	public static final File SETTINGS = new File("src/test/config/test-gitblit.properties");
+	
+	public static final File USERSCONF = new File("src/test/config/test-users.conf");
 
 	static int port = 8280;
 	static int gitPort = 8300;
@@ -78,32 +82,34 @@
 	private static AtomicBoolean started = new AtomicBoolean(false);
 
 	public static Repository getHelloworldRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "helloworld.git"));
+		return getRepository("helloworld.git");
 	}
 
 	public static Repository getTicgitRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "ticgit.git"));
+		return getRepository("ticgit.git");
 	}
 
 	public static Repository getJGitRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/jgit.git"));
+		return getRepository("test/jgit.git");
 	}
 
 	public static Repository getAmbitionRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/ambition.git"));
-	}
-
-	public static Repository getTheoreticalPhysicsRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/theoretical-physics.git"));
+		return getRepository("test/ambition.git");
 	}
 
 	public static Repository getIssuesTestRepository() throws Exception {
 		JGitUtils.createRepository(REPOSITORIES, "gb-issues.git").close();
-		return new FileRepository(new File(REPOSITORIES, "gb-issues.git"));
+		return getRepository("gb-issues.git");
 	}
 	
 	public static Repository getGitectiveRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/gitective.git"));
+		return getRepository("test/gitective.git");
+	}
+	
+	private static Repository getRepository(String name) throws Exception {
+		File gitDir = FileKey.resolve(new File(REPOSITORIES, name), FS.DETECTED);
+		Repository repository = new FileRepositoryBuilder().setGitDir(gitDir).build();
+		return repository;
 	}
 
 	public static boolean startGitblit() throws Exception {
@@ -120,13 +126,13 @@
 				GitBlitServer.main("--httpPort", "" + port, "--httpsPort", "0", "--shutdownPort",
 						"" + shutdownPort, "--gitPort", "" + gitPort, "--repositoriesFolder",
 						"\"" + GitBlitSuite.REPOSITORIES.getAbsolutePath() + "\"", "--userService",
-						"test-users.conf", "--settings", "test-gitblit.properties",
+						GitBlitSuite.USERSCONF.getAbsolutePath(), "--settings", GitBlitSuite.SETTINGS.getAbsolutePath(),
 						"--baseFolder", "data");
 			}
 		});
 
 		// Wait a few seconds for it to be running
-		Thread.sleep(2500);
+		Thread.sleep(5000);
 
 		started.set(true);
 		return true;
@@ -150,7 +156,6 @@
 			cloneOrFetch("test/jgit.git", "https://github.com/eclipse/jgit.git");
 			cloneOrFetch("test/helloworld.git", "https://github.com/git/hello-world.git");
 			cloneOrFetch("test/ambition.git", "https://github.com/defunkt/ambition.git");
-			cloneOrFetch("test/theoretical-physics.git", "https://github.com/certik/theoretical-physics.git");
 			cloneOrFetch("test/gitective.git", "https://github.com/kevinsawicki/gitective.git");
 			
 			enableTickets("ticgit.git");

--
Gitblit v1.9.1