From dfb7657557e712844a0142c956ddd87cc87a5b8f Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Mon, 6 Oct 2014 13:55:23 -0500 Subject: [PATCH] Compare patchlevels numerically rather than lexically Fixes Homebrew/homebrew#32960. --- Library/Homebrew/test/test_versions.rb | 1 + Library/Homebrew/version.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index 02bd383689..2c6c2e8fba 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -37,6 +37,7 @@ class VersionComparisonTests < Homebrew::TestCase def test_patchlevel assert_operator version('1.2.3-p34'), :>, version('1.2.3-p33') assert_operator version('1.2.3-p33'), :<, version('1.2.3-p34') + assert_operator version('1.2.3-p10'), :>, version('1.2.3-p9') end def test_HEAD diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 346e36f93c..63097ba8c8 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -80,7 +80,7 @@ class Version class CompositeToken < StringToken def rev - value[/([0-9]+)/, 1] || "0" + value[/[0-9]+/].to_i end end