update-test: improve error handling.

Fail if the start or end commit are missing and retry finding the
previous tag by fetching all tags if they are missing.

This should fix CI on the current Homebrew/brew `master` branch.

Closes #2404.
This commit is contained in:
Mike McQuaid 2017-03-28 15:31:16 +01:00
parent 676c4a9e33
commit c3bf9bda58

View File

@ -33,12 +33,24 @@ module Homebrew
elsif date = ARGV.value("before") elsif date = ARGV.value("before")
Utils.popen_read("git", "rev-list", "-n1", "--before=#{date}", "origin/master").chomp Utils.popen_read("git", "rev-list", "-n1", "--before=#{date}", "origin/master").chomp
elsif ARGV.include?("--to-tag") elsif ARGV.include?("--to-tag")
Utils.popen_read("git", "tag", "--list", "--sort=-version:refname").lines[1].chomp previous_tag =
Utils.popen_read("git", "tag", "--list", "--sort=-version:refname").lines[1]
unless previous_tag
safe_system "git", "fetch", "--tags"
previous_tag =
Utils.popen_read("git", "tag", "--list", "--sort=-version:refname").lines[1]
end
previous_tag.to_s.chomp
else else
Utils.popen_read("git", "rev-parse", "origin/master").chomp Utils.popen_read("git", "rev-parse", "origin/master").chomp
end end
odie "Could not find start commit!" if start_commit.empty?
start_commit = Utils.popen_read("git", "rev-parse", start_commit).chomp start_commit = Utils.popen_read("git", "rev-parse", start_commit).chomp
odie "Could not find start commit!" if start_commit.empty?
end_commit = Utils.popen_read("git", "rev-parse", "HEAD").chomp end_commit = Utils.popen_read("git", "rev-parse", "HEAD").chomp
odie "Could not find end commit!" if end_commit.empty?
puts "Start commit: #{start_commit}" puts "Start commit: #{start_commit}"
puts "End commit: #{end_commit}" puts "End commit: #{end_commit}"