From f15532452e36e2fa82407fbfb243ba7208f55e9a Mon Sep 17 00:00:00 2001 From: Alex Dunn Date: Fri, 19 Feb 2016 11:11:14 -0800 Subject: [PATCH] version: correctly parse codeload URLs Needed for Homebrew/homebrew#49346. Closes Homebrew/homebrew#49354. Signed-off-by: Alex Dunn --- Library/Homebrew/test/test_versions.rb | 4 ++++ Library/Homebrew/version.rb | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index f8b25fea13..873180d8d6 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -189,6 +189,10 @@ class VersionParsingTests < Homebrew::TestCase assert_version_detected "1.1.4", "https://github.com/sam-github/libnet/tarball/libnet-1.1.4" end + def test_codeload_style + assert_version_detected "0.7.1", "https://codeload.github.com/gsamokovarov/jump/tar.gz/v0.7.1" + end + def test_gloox_beta_style assert_version_detected "1.0-beta7", "http://camaya.net/download/gloox-1.0-beta7.tar.bz2" end diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 93f548b347..45aeac087c 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -307,8 +307,10 @@ class Version m = /[-_]((?:\d+\.)*\d\.\d+-(?:p|rc|RC)?\d+)(?:[-._](?:bin|dist|stable|src|sources))?$/.match(stem) return m.captures.first unless m.nil? - # URL with no extension e.g. https://waf.io/waf-1.8.12 - m = /-((?:\d+\.)*\d+)$/.match(spec_s) + # URL with no extension + # e.g. https://waf.io/waf-1.8.12 + # e.g. https://codeload.github.com/gsamokovarov/jump/tar.gz/v0.7.1 + m = /[-v]((?:\d+\.)*\d+)$/.match(spec_s) return m.captures.first unless m.nil? # e.g. lame-398-1