diff options
author | Shawn O. Pearce <sop@google.com> | 2008-12-12 15:01:49 -0800 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2008-12-12 15:01:49 -0800 |
commit | c4a3825d086c04d9fa3bc33c1654dc7142ee4ee8 (patch) | |
tree | 525206b709bda244c80c70e6b10e29acdb7da430 /webapp | |
parent | ae702902315d2f1671d8dd71af4e8c2b58ad3a3e (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.java | 4 | ||||
-rw-r--r-- | webapp/src/com/google/gerrit/server/GerritServer.java | 13 |
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; + } } |