Skip to content

Commit

Permalink
Merge pull request #9031 from MikeMcQuaid/keg-for-realpath
Browse files Browse the repository at this point in the history
Keg.for: handle non-existent path.
  • Loading branch information
MikeMcQuaid authored Nov 2, 2020
2 parents 05bbb41 + b54b022 commit 5648ae1
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions Library/Homebrew/keg.rb
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,15 @@ def self.find_some_installed_dependents(kegs)

# if path is a file in a keg then this will return the containing Keg object
def self.for(path)
path = path.realpath
until path.root?
return Keg.new(path) if path.parent.parent == HOMEBREW_CELLAR.realpath
original_path = path
if original_path.exist? && (path = original_path.realpath)
until path.root?
return Keg.new(path) if path.parent.parent == HOMEBREW_CELLAR.realpath

path = path.parent.realpath # realpath() prevents root? failing
path = path.parent.realpath # realpath() prevents root? failing
end
end
raise NotAKegError, "#{path} is not inside a keg"
raise NotAKegError, "#{original_path} is not inside a keg"
end

def self.all
Expand Down

0 comments on commit 5648ae1

Please sign in to comment.