aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/dev-cmd/update-test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/dev-cmd/update-test.rb')
-rw-r--r--Library/Homebrew/dev-cmd/update-test.rb20
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