diff --git a/src/com/projectswg/lightspeed/git/GitInterface.java b/src/com/projectswg/lightspeed/git/GitInterface.java index 4be9d9f..9cc6156 100644 --- a/src/com/projectswg/lightspeed/git/GitInterface.java +++ b/src/com/projectswg/lightspeed/git/GitInterface.java @@ -61,12 +61,12 @@ public class GitInterface { return ""; } - public boolean pullLastUpdate(String repository) throws IOException { + public boolean pullLastUpdate(String repository, boolean rebase) throws IOException { try (Git git = new Git(FileRepositoryBuilder.create(new File(repository, ".git")))) { PullResult res = git.pull() .setRemote("origin") .setRemoteBranchName("quality_assurance") - .setRebase(false) + .setRebase(rebase) .setProgressMonitor(new CustomProgressMonitor()).call(); return res.isSuccessful(); } catch (GitAPIException e) { diff --git a/src/com/projectswg/lightspeed/server/ServerService.java b/src/com/projectswg/lightspeed/server/ServerService.java index 5712750..d3b4888 100644 --- a/src/com/projectswg/lightspeed/server/ServerService.java +++ b/src/com/projectswg/lightspeed/server/ServerService.java @@ -38,6 +38,7 @@ import me.joshlarson.json.JSONObject; import com.projectswg.common.concurrency.PswgBasicScheduledThread; import com.projectswg.common.control.LightspeedService; import com.projectswg.common.debug.Log; +import com.projectswg.common.info.ConfigFile; import com.projectswg.common.intents.PrepareStarshipIntent; import com.projectswg.common.intents.RegisterHttpListenerIntent; import com.projectswg.common.network.packets.PacketType; @@ -86,10 +87,12 @@ public class ServerService extends LightspeedService { for (ServerServerData server : servers) { try { String commit = git.getLastCommit(server.getDirectory()); + if (commit.isEmpty()) + commit = "?"; String lastCommit = server.getLastCommit(); server.setLastCommit(commit); - if (!lastCommit.equals(commit) && !lastCommit.equalsIgnoreCase("?")) { - if (!git.pullLastUpdate(server.getDirectory())) { + if (!lastCommit.equals(commit) && !lastCommit.equals("?") && !commit.equals("?")) { + if (!git.pullLastUpdate(server.getDirectory(), getConfig(ConfigFile.LIGHTSPEED).getBoolean("GIT-REBASE", false))) { Log.e("Failed to pull latest update from %s", server.getName()); continue; }