diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/SnapshotFetcher.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/SnapshotFetcher.java index 4c397d851c..e0b81f1aa7 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/SnapshotFetcher.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/SnapshotFetcher.java @@ -17,10 +17,10 @@ import java.util.*; */ public class SnapshotFetcher { - public List getSnapshotsForProjectAfterVersion(String projectName, int version) throws FailedConnectionException, SnapshotPostException { + public LinkedList getSnapshotsForProjectAfterVersion(String projectName, int version) throws FailedConnectionException, SnapshotPostException { List snapshotInfos = getSnapshotInfosAfterVersion(projectName, version); List snapshotDatas = getMatchingSnapshotData(projectName, snapshotInfos); - List snapshots = combine(snapshotInfos, snapshotDatas); + LinkedList snapshots = combine(snapshotInfos, snapshotDatas); return snapshots; } @@ -63,8 +63,8 @@ public class SnapshotFetcher { return requests; } - private List combine(List snapshotInfos, List snapshotDatas) { - List snapshots = new LinkedList(); + private LinkedList combine(List snapshotInfos, List snapshotDatas) { + LinkedList snapshots = new LinkedList(); Iterator infos = snapshotInfos.iterator(); Iterator datas = snapshotDatas.iterator(); while (infos.hasNext()) { diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/model/DataStore.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/model/DataStore.java index 1a0c6c049a..d3520fc89f 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/model/DataStore.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/writelatex/model/DataStore.java @@ -38,7 +38,10 @@ public class DataStore implements CandidateSnapshotCallback { } public List updateProjectWithName(String name, Repository repository) throws IOException, SnapshotPostException { - List snapshots = snapshotFetcher.getSnapshotsForProjectAfterVersion(name, persistentStore.getLatestVersionForProject(name)); + LinkedList snapshots = snapshotFetcher.getSnapshotsForProjectAfterVersion(name, persistentStore.getLatestVersionForProject(name)); + if (!snapshots.isEmpty()) { + persistentStore.setLatestVersionForProject(name, snapshots.getLast().getVersionID()); + } List commits = makeCommitsFromSnapshots(name, repository, snapshots); return commits; }