Merge pull request #11824 from cnnrmnn/latest-head-kegs
This commit is contained in:
commit
5ea678bbc7
@ -324,7 +324,11 @@ module Homebrew
|
||||
# Return keg if it is the only installed keg
|
||||
return kegs if kegs.length == 1
|
||||
|
||||
kegs.reject { |k| k.version.head? }.max_by(&:version)
|
||||
stable_kegs = kegs.reject { |k| k.version.head? }
|
||||
|
||||
return kegs.max_by { |keg| Tab.for_keg(keg).source_modified_time } if stable_kegs.blank?
|
||||
|
||||
stable_kegs.max_by(&:version)
|
||||
end
|
||||
|
||||
def resolve_default_keg(name)
|
||||
|
||||
@ -223,12 +223,16 @@ describe Homebrew::CLI::NamedArgs do
|
||||
(HOMEBREW_CELLAR/"foo/1.0").mkpath
|
||||
(HOMEBREW_CELLAR/"foo/2.0").mkpath
|
||||
(HOMEBREW_CELLAR/"bar/1.0").mkpath
|
||||
(HOMEBREW_CELLAR/"baz/HEAD-1").mkpath
|
||||
head2 = HOMEBREW_CELLAR/"baz/HEAD-2"
|
||||
head2.mkpath
|
||||
(head2/"INSTALL_RECEIPT.json").write (TEST_FIXTURE_DIR/"receipt.json").read
|
||||
end
|
||||
|
||||
it "resolves the latest kegs with #resolve_latest_keg" do
|
||||
latest_kegs = described_class.new("foo", "bar").to_latest_kegs
|
||||
expect(latest_kegs.map(&:name)).to eq ["foo", "bar"]
|
||||
expect(latest_kegs.map { |k| k.version.version.to_s }).to eq ["2.0", "1.0"]
|
||||
latest_kegs = described_class.new("foo", "bar", "baz").to_latest_kegs
|
||||
expect(latest_kegs.map(&:name)).to eq ["foo", "bar", "baz"]
|
||||
expect(latest_kegs.map { |k| k.version.version.to_s }).to eq ["2.0", "1.0", "HEAD-2"]
|
||||
end
|
||||
|
||||
it "when there are no matching kegs returns an empty array" do
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
"bin/foo"
|
||||
],
|
||||
"time": 1403827774,
|
||||
"source_modified_time": 1628303333,
|
||||
"HEAD": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
|
||||
"alias_path": "/usr/local/Library/Taps/homebrew/homebrew-core/Aliases/test-formula",
|
||||
"stdlib": "libcxx",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user