Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Library/Homebrew/bundle/brewfile.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def self.path(dash_writes_to_stdout: false, global: false, file: nil)
else
raise "'HOMEBREW_BUNDLE_FILE' cannot be specified with '--global'" if env_bundle_file.present?

if user_config_home && File.exist?("#{user_config_home}/Brewfile")
if user_config_home
"#{user_config_home}/Brewfile"
else
Bundle.exchange_uid_if_needed! do
Expand Down
1 change: 1 addition & 0 deletions Library/Homebrew/bundle/dumper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ def self.brewfile_path(global: false, file: nil)
sig { params(file: Pathname, content: String).void }
def self.write_file(file, content)
Bundle.exchange_uid_if_needed! do
FileUtils.mkdir_p file.parent
file.open("w") { |io| io.write content }
end
end
Expand Down
9 changes: 9 additions & 0 deletions Library/Homebrew/test/bundle/brewfile_spec.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# typed: strict
# frozen_string_literal: true

require "bundle"
Expand Down Expand Up @@ -171,6 +172,14 @@
expect(path).to eq(expected_pathname)
end
end

context "when HOMEBREW_USER_CONFIG_HOME is set but Brewfile does not exist" do
let(:config_dir_brewfile_exist) { false }

it "returns the XDG-compliant path when HOMEBREW_USER_CONFIG_HOME is set" do
expect(path).to eq(Pathname.new("#{env_user_config_home_value}/Brewfile"))
end
end
end

context "when HOMEBREW_BUNDLE_FILE has a value" do
Expand Down
Loading