From ae331babed85ad55eb67641fb17f9829f2a3a8bc Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 26 Aug 2016 16:37:19 -0400 Subject: [PATCH] fix version comparison --- .../Migrations/UpdateLevelMigration.cs | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/MediaBrowser.Server.Startup.Common/Migrations/UpdateLevelMigration.cs b/MediaBrowser.Server.Startup.Common/Migrations/UpdateLevelMigration.cs index 5212b8ac3e..ec00fb33de 100644 --- a/MediaBrowser.Server.Startup.Common/Migrations/UpdateLevelMigration.cs +++ b/MediaBrowser.Server.Startup.Common/Migrations/UpdateLevelMigration.cs @@ -66,13 +66,10 @@ namespace MediaBrowser.Server.Startup.Common.Migrations if (releases.Count >= 1) { var release = releases[0]; - Version version; - if (Version.TryParse(release.tag_name, out version)) + var version = ParseVersion(release.tag_name); + if (version != null && currentVersion > version) { - if (currentVersion > version) - { - newUpdateLevel = PackageVersionClass.Beta; - } + newUpdateLevel = PackageVersionClass.Beta; } } @@ -80,13 +77,10 @@ namespace MediaBrowser.Server.Startup.Common.Migrations if (releases.Count >= 2) { var release = releases[1]; - Version version; - if (Version.TryParse(release.tag_name, out version)) + var version = ParseVersion(release.tag_name); + if (version != null && currentVersion > version) { - if (currentVersion > version) - { - newUpdateLevel = PackageVersionClass.Dev; - } + newUpdateLevel = PackageVersionClass.Dev; } } @@ -96,5 +90,19 @@ namespace MediaBrowser.Server.Startup.Common.Migrations _config.SaveConfiguration(); } } + + private Version ParseVersion(string versionString) + { + var parts = versionString.Split('.'); + if (parts.Length == 3) + { + versionString += ".0"; + } + + Version version; + Version.TryParse(versionString, out version); + + return version; + } } }