aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2016-09-24 17:40:37 +0100
committerMike McQuaid2016-09-24 17:40:37 +0100
commit5b4b7b24e6673567b8d6eb1f5f0e031f295e602b (patch)
tree09966295dd75cb2f546cc3bfe41b7f0b1a52de34
parent6eebea452517f421f180d84d41cdce808351ec44 (diff)
downloadbrew-5b4b7b24e6673567b8d6eb1f5f0e031f295e602b.tar.bz2
version: don't let a/b imply alpha/beta.
This is assumption is broken for at least OpenSSL which makes it a bad general rule. As discussed in #1102.
-rw-r--r--Library/Homebrew/test/test_versions.rb2
-rw-r--r--Library/Homebrew/version.rb4
2 files changed, 4 insertions, 2 deletions
diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb
index 307bf6ead..21bf324a3 100644
--- a/Library/Homebrew/test/test_versions.rb
+++ b/Library/Homebrew/test/test_versions.rb
@@ -63,6 +63,8 @@ class VersionComparisonTests < Homebrew::TestCase
end
def test_comparing_alpha_versions
+ assert_operator version("1.2.3alpha"), :<, version("1.2.3")
+ assert_operator version("1.2.3"), :<, version("1.2.3a")
assert_operator version("1.2.3alpha4"), :==, version("1.2.3a4")
assert_operator version("1.2.3alpha4"), :==, version("1.2.3A4")
assert_operator version("1.2.3alpha4"), :>, version("1.2.3alpha3")
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index 00fe2f490..60a833609 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -95,7 +95,7 @@ class Version
end
class AlphaToken < CompositeToken
- PATTERN = /a(?:lpha)?[0-9]*/i
+ PATTERN = /alpha[0-9]*|a[0-9]+/i
def <=>(other)
case other
@@ -108,7 +108,7 @@ class Version
end
class BetaToken < CompositeToken
- PATTERN = /b(?:eta)?[0-9]*/i
+ PATTERN = /beta[0-9]*|b[0-9]+/i
def <=>(other)
case other