summaryrefslogtreecommitdiffstats
path: root/webapp
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2008-12-12 15:01:49 -0800
committerShawn O. Pearce <sop@google.com>2008-12-12 15:01:49 -0800
commitc4a3825d086c04d9fa3bc33c1654dc7142ee4ee8 (patch)
tree525206b709bda244c80c70e6b10e29acdb7da430 /webapp
parentae702902315d2f1671d8dd71af4e8c2b58ad3a3e (diff)
Add the default project path for our Git RepositoryCache to SystemConfig
We need a base directory that all projects live below. If the project exists here as a Git repository then it is available for changes to be reviewed in. Signed-off-by: Shawn O. Pearce <sop@google.com>
Diffstat (limited to 'webapp')
-rw-r--r--webapp/src/com/google/gerrit/client/reviewdb/SystemConfig.java4
-rw-r--r--webapp/src/com/google/gerrit/server/GerritServer.java13
2 files changed, 17 insertions, 0 deletions
diff --git a/webapp/src/com/google/gerrit/client/reviewdb/SystemConfig.java b/webapp/src/com/google/gerrit/client/reviewdb/SystemConfig.java
index 341dd0de71..2f9dba9900 100644
--- a/webapp/src/com/google/gerrit/client/reviewdb/SystemConfig.java
+++ b/webapp/src/com/google/gerrit/client/reviewdb/SystemConfig.java
@@ -74,6 +74,10 @@ public final class SystemConfig {
@Column(notNull = false)
public String gitwebUrl;
+ /** Local filesystem loction all projects reside within. */
+ @Column(notNull = false)
+ public String gitBasePath;
+
protected SystemConfig() {
}
}
diff --git a/webapp/src/com/google/gerrit/server/GerritServer.java b/webapp/src/com/google/gerrit/server/GerritServer.java
index 251746aea1..45aa935449 100644
--- a/webapp/src/com/google/gerrit/server/GerritServer.java
+++ b/webapp/src/com/google/gerrit/server/GerritServer.java
@@ -21,6 +21,7 @@ import com.google.gerrit.client.reviewdb.ApprovalCategory;
import com.google.gerrit.client.reviewdb.ApprovalCategoryValue;
import com.google.gerrit.client.reviewdb.ReviewDb;
import com.google.gerrit.client.reviewdb.SystemConfig;
+import com.google.gerrit.git.RepositoryCache;
import com.google.gwtjsonrpc.server.SignedToken;
import com.google.gwtjsonrpc.server.XsrfException;
import com.google.gwtorm.client.OrmException;
@@ -71,6 +72,7 @@ public class GerritServer {
private GerritConfig gerritConfig;
private final SignedToken xsrf;
private final SignedToken account;
+ private final RepositoryCache repositories;
private GerritServer() throws OrmException, XsrfException {
db = createDatabase();
@@ -81,6 +83,12 @@ public class GerritServer {
xsrf = new SignedToken(sConfig.maxSessionAge, sConfig.xsrfPrivateKey);
account = new SignedToken(sConfig.maxSessionAge, sConfig.accountPrivateKey);
+
+ if (sConfig.gitBasePath != null) {
+ repositories = new RepositoryCache(new File(sConfig.gitBasePath));
+ } else {
+ repositories = null;
+ }
}
private Database<ReviewDb> createDatabase() throws OrmException {
@@ -276,4 +284,9 @@ public class GerritServer {
public GerritConfig getGerritConfig() {
return gerritConfig;
}
+
+ /** Get the repositories maintained by this server. */
+ public RepositoryCache getRepositoryCache() {
+ return repositories;
+ }
}