diff --git a/services/git-bridge/.idea/workspace.xml b/services/git-bridge/.idea/workspace.xml
index 7c4b8248c1..1617220ed5 100644
--- a/services/git-bridge/.idea/workspace.xml
+++ b/services/git-bridge/.idea/workspace.xml
@@ -7,9 +7,11 @@
-
-
+
+
+
+
@@ -32,11 +34,21 @@
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -45,18 +57,78 @@
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -75,8 +147,6 @@
@@ -201,6 +273,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -746,19 +840,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -786,6 +867,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -901,7 +995,7 @@
-
+
@@ -919,7 +1013,7 @@
-
+
@@ -975,13 +1069,6 @@
-
-
-
-
-
-
-
@@ -1197,14 +1284,6 @@
-
-
-
-
-
-
-
-
@@ -1213,14 +1292,6 @@
-
-
-
-
-
-
-
-
@@ -1235,7 +1306,6 @@
-
@@ -1263,14 +1333,6 @@
-
-
-
-
-
-
-
-
@@ -1279,14 +1341,6 @@
-
-
-
-
-
-
-
-
@@ -1295,22 +1349,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1327,14 +1365,6 @@
-
-
-
-
-
-
-
-
@@ -1351,10 +1381,74 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/services/git-bridge/build.xml b/services/git-bridge/build.xml
index 8abcf2583e..c2124a8741 100644
--- a/services/git-bridge/build.xml
+++ b/services/git-bridge/build.xml
@@ -1,10 +1,5 @@
-
-
-
diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/WLGitServlet.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/WLGitServlet.java
index c84600552c..61dd811585 100644
--- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/WLGitServlet.java
+++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/WLGitServlet.java
@@ -6,6 +6,7 @@ import uk.ac.ic.wlgitbridge.git.exception.InvalidRootDirectoryPathException;
import uk.ac.ic.wlgitbridge.git.handler.WLReceivePackFactory;
import uk.ac.ic.wlgitbridge.git.handler.WLRepositoryResolver;
import uk.ac.ic.wlgitbridge.git.handler.WLUploadPackFactory;
+import uk.ac.ic.wlgitbridge.writelatex.SnapshotRepositoryBuilder;
import javax.servlet.ServletException;
@@ -15,7 +16,7 @@ import javax.servlet.ServletException;
public class WLGitServlet extends GitServlet {
public WLGitServlet(ServletContextHandler servletContextHandler, String rootGitDirectoryPath) throws ServletException, InvalidRootDirectoryPathException {
- setRepositoryResolver(new WLRepositoryResolver(rootGitDirectoryPath));
+ setRepositoryResolver(new WLRepositoryResolver(rootGitDirectoryPath, new SnapshotRepositoryBuilder()));
setReceivePackFactory(new WLReceivePackFactory());
setUploadPackFactory(new WLUploadPackFactory());
init(new WLGitServletConfig(servletContextHandler));
diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLRepositoryResolver.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLRepositoryResolver.java
index e64292462c..18fe7e006d 100644
--- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLRepositoryResolver.java
+++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLRepositoryResolver.java
@@ -8,7 +8,7 @@ import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException;
import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException;
import uk.ac.ic.wlgitbridge.git.exception.InvalidRootDirectoryPathException;
import uk.ac.ic.wlgitbridge.bridge.RepositorySource;
-import uk.ac.ic.wlgitbridge.writelatex.SnapshotRepositorySource;
+import uk.ac.ic.wlgitbridge.writelatex.SnapshotRepositoryBuilder;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
@@ -21,9 +21,9 @@ public class WLRepositoryResolver implements RepositoryResolver