diff options
Diffstat (limited to 'Library/Homebrew/dev-cmd/update-test.rb')
| -rw-r--r-- | Library/Homebrew/dev-cmd/update-test.rb | 20 | 
1 files changed, 13 insertions, 7 deletions
| diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb index add05bc7c..aa7fe6a92 100644 --- a/Library/Homebrew/dev-cmd/update-test.rb +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -33,14 +33,20 @@ module Homebrew      elsif date = ARGV.value("before")        Utils.popen_read("git", "rev-list", "-n1", "--before=#{date}", "origin/master").chomp      elsif ARGV.include?("--to-tag") -      previous_tag = -        Utils.popen_read("git", "tag", "--list", "--sort=-version:refname").lines[1] -      unless previous_tag -        safe_system "git", "fetch", "--tags", "--depth=1" -        previous_tag = -          Utils.popen_read("git", "tag", "--list", "--sort=-version:refname").lines[1] +      tags = Utils.popen_read("git", "tag", "--list", "--sort=-version:refname") +      previous_tag = tags.lines[1] +      previous_tag ||= begin +        if (HOMEBREW_REPOSITORY/".git/shallow").exist? +          safe_system "git", "fetch", "--tags", "--depth=1" +          tags = Utils.popen_read("git", "tag", "--list", "--sort=-version:refname") +        elsif OS.linux? +          tags = Utils.popen_read("git tag --list | sort -rV") +        end +        tags.lines[1]        end -      previous_tag.to_s.chomp +      previous_tag = previous_tag.to_s.chomp +      odie "Could not find previous tag in:\n#{tags}" if previous_tag.empty? +      previous_tag      else        Utils.popen_read("git", "rev-parse", "origin/master").chomp      end | 
