aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/diagnostic.rb29
1 files changed, 14 insertions, 15 deletions
diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb
index 0743c6e03..1c74d9a0c 100644
--- a/Library/Homebrew/diagnostic.rb
+++ b/Library/Homebrew/diagnostic.rb
@@ -1226,28 +1226,27 @@ module Homebrew
def check_for_outdated_homebrew
return unless Utils.git_available?
- HOMEBREW_REPOSITORY.cd do
- if File.directory? ".git"
+
+ timestamp = if File.directory?("#{HOMEBREW_REPOSITORY}/.git")
+ HOMEBREW_REPOSITORY.cd { `git log -1 --format="%ct" HEAD`.to_i }
+ else
+ HOMEBREW_LIBRARY.mtime.to_i
+ end
+ return if Time.now.to_i - timestamp <= 60 * 60 * 24 # 24 hours
+
+ if File.directory?("#{HOMEBREW_REPOSITORY}/.git")
+ HOMEBREW_REPOSITORY.cd do
local = `git rev-parse -q --verify refs/remotes/origin/master`.chomp
remote = /^([a-f0-9]{40})/.match(`git ls-remote origin refs/heads/master 2>/dev/null`)
- if remote.nil? || local == remote[0]
- return
- end
- end
-
- timestamp = if File.directory? ".git"
- `git log -1 --format="%ct" HEAD`.to_i
- else
- HOMEBREW_LIBRARY.mtime.to_i
+ return if remote.nil? || local == remote[0]
end
+ end
- if Time.now.to_i - timestamp > 60 * 60 * 24 then <<-EOS.undent
+ <<-EOS.undent
Your Homebrew is outdated.
You haven't updated for at least 24 hours. This is a long time in brewland!
To update Homebrew, run `brew update`.
- EOS
- end
- end
+ EOS
end
def check_for_unlinked_but_not_keg_only