diff options
| author | Xu Cheng | 2015-09-01 16:52:15 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-09-02 15:24:52 +0800 |
| commit | 71f794260b8ea0312b5a733095e2856c9a4719bb (patch) | |
| tree | 4d64bb145154e606fe16789fc40e2cb0fbe5279d /Library/Homebrew/utils/git.rb | |
| parent | 370df177c46e9f13415b2da99b868fe56546764c (diff) | |
| download | brew-71f794260b8ea0312b5a733095e2856c9a4719bb.tar.bz2 | |
add git utils
Two methods:
* `Utils.git_available?` checks whether git is installed.
* `Utils.ensure_git_installed!` installs git for users who don't install
Xcode or CLT.
Diffstat (limited to 'Library/Homebrew/utils/git.rb')
| -rw-r--r-- | Library/Homebrew/utils/git.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Library/Homebrew/utils/git.rb b/Library/Homebrew/utils/git.rb new file mode 100644 index 000000000..53057cd10 --- /dev/null +++ b/Library/Homebrew/utils/git.rb @@ -0,0 +1,23 @@ +module Utils + def self.git_available? + git = which("git") + # git isn't installed by older Xcodes + return false if git.nil? + # /usr/bin/git is a popup stub when Xcode/CLT aren't installed, so bail out + return false if git == "/usr/bin/git" && !OS::Mac.has_apple_developer_tools? + true + end + + def self.ensure_git_installed! + return if git_available? + + require "cmd/install" + begin + oh1 "Installing git" + Homebrew.perform_preinstall_checks + Homebrew.install_formula(Formulary.factory("git")) + rescue + raise "Git is unavailable" + end + end +end |
