From cc796a9fce1ae27204e2111c7fdd6f03270ca43a Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Thu, 8 Sep 2011 19:42:41 -0700 Subject: [PATCH] fixed a bug in handling version number comparison between "1.*" and "1" --- core/src/main/java/hudson/util/VersionNumber.java | 2 ++ core/src/test/java/hudson/util/VersionNumberTest.java | 1 + 2 files changed, 3 insertions(+) diff --git a/core/src/main/java/hudson/util/VersionNumber.java b/core/src/main/java/hudson/util/VersionNumber.java index 61f8a729c0..7e8e29d316 100644 --- a/core/src/main/java/hudson/util/VersionNumber.java +++ b/core/src/main/java/hudson/util/VersionNumber.java @@ -85,6 +85,8 @@ public class VersionNumber implements Comparable { private static class WildCardItem implements Item { public int compareTo(Item item) { + if (item==null) // 1.* ( > 1.99) > 1 + return 1; switch (item.getType()) { case INTEGER_ITEM: case LIST_ITEM: diff --git a/core/src/test/java/hudson/util/VersionNumberTest.java b/core/src/test/java/hudson/util/VersionNumberTest.java index e1861592aa..f373ee5919 100644 --- a/core/src/test/java/hudson/util/VersionNumberTest.java +++ b/core/src/test/java/hudson/util/VersionNumberTest.java @@ -31,6 +31,7 @@ import junit.framework.TestCase; public class VersionNumberTest extends TestCase { public void testIsNewerThan() { + assertTrue(new VersionNumber("2.0.*").isNewerThan(new VersionNumber("2.0"))); assertTrue(new VersionNumber("2.0.*").isNewerThan(new VersionNumber("2.0.1"))); assertTrue(new VersionNumber("2.0.1").isNewerThan(new VersionNumber("2.0.1-SNAPSHOT"))); assertTrue(new VersionNumber("2.0.1-SNAPSHOT").isNewerThan(new VersionNumber("2.0.0.99"))); -- GitLab