Merge pull request #1220 from reitermarkus/tap-version-string

Make `core_tap_version_string` reusable.
This commit is contained in:
Markus Reiter 2016-10-07 17:59:06 +02:00 committed by GitHub
commit e1ec23eea0
4 changed files with 14 additions and 21 deletions

View File

@ -14,8 +14,9 @@ $:.unshift(HOMEBREW_LIBRARY_PATH.to_s)
require "global" require "global"
if ARGV == %w[--version] || ARGV == %w[-v] if ARGV == %w[--version] || ARGV == %w[-v]
require "tap"
puts "Homebrew #{HOMEBREW_VERSION}" puts "Homebrew #{HOMEBREW_VERSION}"
puts "Homebrew/homebrew-core #{Homebrew.core_tap_version_string}" puts "Homebrew/homebrew-core #{CoreTap.instance.version_string}"
exit 0 exit 0
end end

View File

@ -1,13 +1,10 @@
HBC_VERSION = "0.60.0".freeze
module Hbc module Hbc
def self.full_version def self.full_version
@full_version ||= begin @full_version ||= begin
revision, commit = Dir.chdir(Hbc.default_tap.path) do <<-EOS.undent
[`git rev-parse --short=4 --verify -q HEAD 2>/dev/null`.chomp, Homebrew-Cask #{HOMEBREW_VERSION}
`git show -s --format="%cr" HEAD 2>/dev/null`.chomp] caskroom/homebrew-cask #{Hbc.default_tap.version_string}
end EOS
"#{HBC_VERSION} (git revision #{revision}; last commit #{commit})"
end end
end end
end end

View File

@ -138,6 +138,13 @@ class Tap
name name
end end
def version_string
return "N/A" unless installed?
pretty_revision = git_short_head
return "(no git repository)" unless pretty_revision
"(git revision #{pretty_revision}; last commit #{git_last_commit_date})"
end
# True if this {Tap} is an official Homebrew tap. # True if this {Tap} is an official Homebrew tap.
def official? def official?
user == "Homebrew" user == "Homebrew"
@ -525,7 +532,7 @@ class CoreTap < Tap
end end
def self.instance def self.instance
@instance ||= CoreTap.new @instance ||= new
end end
def self.ensure_installed!(options = {}) def self.ensure_installed!(options = {})

View File

@ -173,18 +173,6 @@ module Homebrew
_system(cmd, *args) _system(cmd, *args)
end end
def core_tap_version_string
require "tap"
tap = CoreTap.instance
return "N/A" unless tap.installed?
if pretty_revision = tap.git_short_head
last_commit = tap.git_last_commit_date
"(git revision #{pretty_revision}; last commit #{last_commit})"
else
"(no git repository)"
end
end
def install_gem_setup_path!(name, version = nil, executable = name) def install_gem_setup_path!(name, version = nil, executable = name)
# Respect user's preferences for where gems should be installed. # Respect user's preferences for where gems should be installed.
ENV["GEM_HOME"] = ENV["GEM_OLD_HOME"].to_s ENV["GEM_HOME"] = ENV["GEM_OLD_HOME"].to_s