From 5fd5d391fd3f9c1b644bde73c644bcf2cb94f5ae Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Thu, 9 Feb 2023 22:06:26 +0900 Subject: [PATCH] apply extend/os to dev-cmd/update-test --- Library/Homebrew/dev-cmd/update-test.rb | 25 +++++++++++-------- .../Homebrew/extend/os/dev-cmd/update-test.rb | 4 +++ .../extend/os/linux/dev-cmd/update-test.rb | 13 ++++++++++ 3 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 Library/Homebrew/extend/os/dev-cmd/update-test.rb create mode 100644 Library/Homebrew/extend/os/linux/dev-cmd/update-test.rb diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb index 8abffa4869..17cb275052 100644 --- a/Library/Homebrew/dev-cmd/update-test.rb +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -2,6 +2,7 @@ # frozen_string_literal: true require "cli/parser" +require "extend/os/dev-cmd/update-test" module Homebrew extend T::Sig @@ -60,16 +61,7 @@ module Homebrew elsif (date = args.before) Utils.popen_read("git", "rev-list", "-n1", "--before=#{date}", "origin/master").chomp elsif args.to_tag? - tags = Utils.popen_read("git", "tag", "--list", "--sort=-version:refname") - if tags.blank? - tags = if (HOMEBREW_REPOSITORY/".git/shallow").exist? - safe_system "git", "fetch", "--tags", "--depth=1" - Utils.popen_read("git", "tag", "--list", "--sort=-version:refname") - # TODO: Refactor and move to extend/os - elsif OS.linux? # rubocop:disable Homebrew/MoveToExtendOS - Utils.popen_read("git tag --list | sort -rV") - end - end + tags = git_tag current_tag, previous_tag, = tags.lines current_tag = current_tag.to_s.chomp odie "Could not find current tag in:\n#{tags}" if current_tag.empty? @@ -148,4 +140,17 @@ module Homebrew ensure FileUtils.rm_rf "update-test" unless args.keep_tmp? end + + def git_tag + tags = Utils.popen_read("git", "tag", "--list", "--sort=-version:refname") + if tags.blank? + tags = if (HOMEBREW_REPOSITORY/".git/shallow").exist? + safe_system "git", "fetch", "--tags", "--depth=1" + Utils.popen_read("git", "tag", "--list", "--sort=-version:refname") + end + end + tags + end + + alias generic_git_tag git_tag end diff --git a/Library/Homebrew/extend/os/dev-cmd/update-test.rb b/Library/Homebrew/extend/os/dev-cmd/update-test.rb new file mode 100644 index 0000000000..e4f62b0057 --- /dev/null +++ b/Library/Homebrew/extend/os/dev-cmd/update-test.rb @@ -0,0 +1,4 @@ +# typed: strict +# frozen_string_literal: true + +require "extend/os/linux/dev-cmd/update-test" if OS.linux? diff --git a/Library/Homebrew/extend/os/linux/dev-cmd/update-test.rb b/Library/Homebrew/extend/os/linux/dev-cmd/update-test.rb new file mode 100644 index 0000000000..4d10b96ce8 --- /dev/null +++ b/Library/Homebrew/extend/os/linux/dev-cmd/update-test.rb @@ -0,0 +1,13 @@ +# typed: false +# frozen_string_literal: true + +module Homebrew + extend T::Sig + + module_function + + def git_tag + tags = generic_git_tag + Utils.popen_read("git tag --list | sort -rV") if tags.blank? + end +end