diff options
| author | Max Howell | 2012-09-25 10:11:13 -0400 |
|---|---|---|
| committer | Max Howell | 2012-09-25 11:31:56 -0400 |
| commit | b05e9c18f91d4111724f03619e072f046b2f3c9f (patch) | |
| tree | 4b42785ca262461f036bb3400576dfa9d089d2b0 /Library | |
| parent | 1fc68c62d801e01016ef710bec6d0185a8f3ae6e (diff) | |
| download | homebrew-b05e9c18f91d4111724f03619e072f046b2f3c9f.tar.bz2 | |
MercurialDownloadStrategy can find hg again
Was broken after superenv PATH modification.
Fixes #15078.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/download_strategy.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index 68a91d0a4..99897ff84 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -458,19 +458,27 @@ class MercurialDownloadStrategy < AbstractDownloadStrategy def cached_location; @clone; end + def hgpath + @path ||= if which "hg" + 'hg' + else + "#{HOMEBREW_PREFIX}/bin/hg" + end + end + def fetch - raise "You must install Mercurial: brew install mercurial" unless which "hg" + raise "You must: brew install hg" unless File.file?(hgpath) ohai "Cloning #{@url}" unless @clone.exist? url=@url.sub(%r[^hg://], '') - safe_system 'hg', 'clone', url, @clone + safe_system hgpath, 'clone', url, @clone else puts "Updating #{@clone}" Dir.chdir(@clone) do - safe_system 'hg', 'pull' - safe_system 'hg', 'update' + safe_system hgpath, 'pull' + safe_system hgpath, 'update' end end end @@ -480,9 +488,9 @@ class MercurialDownloadStrategy < AbstractDownloadStrategy Dir.chdir @clone do if @spec and @ref ohai "Checking out #{@spec} #{@ref}" - safe_system 'hg', 'archive', '--subrepos', '-y', '-r', @ref, '-t', 'files', dst + safe_system hgpath, 'archive', '--subrepos', '-y', '-r', @ref, '-t', 'files', dst else - safe_system 'hg', 'archive', '--subrepos', '-y', '-t', 'files', dst + safe_system hgpath, 'archive', '--subrepos', '-y', '-t', 'files', dst end end end |
