From bf7b30630c046989d48c3cf2a3eff83048143910 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Sun, 7 Aug 2016 13:42:42 +0900 Subject: [PATCH] (refs #1255) Check whether database version is same as GitBucket version in startup --- .../gitbucket/core/servlet/InitializeListener.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/scala/gitbucket/core/servlet/InitializeListener.scala b/src/main/scala/gitbucket/core/servlet/InitializeListener.scala index fdc9e68dd..8d55a813b 100644 --- a/src/main/scala/gitbucket/core/servlet/InitializeListener.scala +++ b/src/main/scala/gitbucket/core/servlet/InitializeListener.scala @@ -17,6 +17,7 @@ import org.apache.commons.io.FileUtils import org.slf4j.LoggerFactory import akka.actor.{Actor, Props, ActorSystem} import com.typesafe.akka.extension.quartz.QuartzSchedulerExtension +import scala.collection.JavaConverters._ /** * Initialize GitBucket system. @@ -80,8 +81,14 @@ class InitializeListener extends ServletContextListener with SystemSettingsServi // Rescue code for users who updated from 3.14 to 4.0.0 // https://github.com/gitbucket/gitbucket/issues/1227 val currentVersion = manager.getCurrentVersion(GitBucketCoreModule.getModuleId) - if(currentVersion == "4.0"){ + val databaseVersion = if(currentVersion == "4.0"){ manager.updateVersion(GitBucketCoreModule.getModuleId, "4.0.0") + "4.0.0" + } else currentVersion + + val gitbucketVersion = GitBucketCoreModule.getVersions.asScala.last.getVersion + if(databaseVersion != gitbucketVersion){ + throw new IllegalStateException(s"Initialization failed. GitBucket version is ${gitbucketVersion}, but database version is ${databaseVersion}.") } // Load plugins