From 9cdfd2797fb547473d460c7b4a0f88a6a7d174b5 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Mon, 5 Sep 2011 09:39:55 +0100 Subject: [PATCH] Fix nil handling in `brew versions` Fixes Homebrew/homebrew#7392. --- Library/Homebrew/cmd/versions.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/versions.rb b/Library/Homebrew/cmd/versions.rb index e35eb63822..5283d9cb3a 100644 --- a/Library/Homebrew/cmd/versions.rb +++ b/Library/Homebrew/cmd/versions.rb @@ -8,7 +8,7 @@ module Homebrew extend self yielded = [] f.rev_list.each do |sha| version = f.version_for_sha sha - unless yielded.include? version + unless yielded.include? version or version.nil? yield version, sha yielded << version end @@ -55,7 +55,10 @@ class Formula return version[1] unless version.nil? url = code.match(/class #{Formula.class_s name} < ?Formula.*?(?:url\s|@url\s*=)\s*(?:'|")(.+?)(?:'|").*?end\s/m) - return Pathname.new(url[1]).version unless url.nil? + unless url.nil? + version = Pathname.new(url[1]).version + return version unless version.to_s.empty? + end head = code.match(/class #{Formula.class_s name} < ?Formula.*?head\s'(.*?)'.*?end\s\s/m) return 'HEAD' unless head.nil?