diff options
| author | Adam Vandenberg | 2010-07-09 07:13:19 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-07-09 07:15:28 -0700 |
| commit | d637e0a139b17a4fb312e5ac1c503faba7156c2e (patch) | |
| tree | 57657b33b68152b1259b1f193f2a56dcd19fb928 /Library | |
| parent | 4c2d3e1f7f3c10829c454ce152877eb26f3d92ab (diff) | |
| download | brew-d637e0a139b17a4fb312e5ac1c503faba7156c2e.tar.bz2 | |
`brew doctor` and GitDownloadStrategy now check for Git.
GitDownloadStrategy now fails if git isn't in the path, same as other
VCS strategies.
`brew doctor` will also warn if Git isn't installed.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/brew_doctor.rb | 21 | ||||
| -rw-r--r-- | Library/Homebrew/download_strategy.rb | 4 |
2 files changed, 23 insertions, 2 deletions
diff --git a/Library/Homebrew/brew_doctor.rb b/Library/Homebrew/brew_doctor.rb index e95cb9198..9af1f4381 100644 --- a/Library/Homebrew/brew_doctor.rb +++ b/Library/Homebrew/brew_doctor.rb @@ -229,7 +229,7 @@ def check_user_path end def check_which_pkg_config - binary = `which pkg-config`.chomp + binary = `/usr/bin/which pkg-config`.chomp return if binary.empty? unless binary == "#{HOMEBREW_PREFIX}/bin/pkg-config" @@ -245,7 +245,7 @@ def check_which_pkg_config end def check_pkg_config_paths - binary = `which pkg-config`.chomp + binary = `/usr/bin/which pkg-config`.chomp return if binary.empty? # Use the debug output to determine which paths are searched @@ -378,6 +378,22 @@ def check_for_multiple_volumes end end +def check_for_git + git = `/usr/bin/which git`.chomp + if git.empty? + puts <<-EOS.undent + "Git" was not found in your path. + + Homebrew uses Git for several internal functions, and some formulae + (Erlang in particular) use Git checkouts instead of stable tarballs. + + You may want to do: + brew install git + + EOS + end +end + def brew_doctor read, write = IO.pipe @@ -401,6 +417,7 @@ def brew_doctor check_for_dyld_vars check_for_symlinked_cellar check_for_multiple_volumes + check_for_git exit! 0 else diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index 75ae64c1e..a735f0279 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -236,6 +236,10 @@ class GitDownloadStrategy <AbstractDownloadStrategy end def fetch + raise "You must install Git:\n\n"+ + " brew install git\n" \ + unless system "/usr/bin/which git" + ohai "Cloning #{@url}" unless @clone.exist? safe_system 'git', 'clone', @url, @clone # indeed, leave it verbose |
