Descriptions.cache_fresh?: return early
This commit is contained in:
parent
80514ee5d7
commit
71be19235f
@ -42,20 +42,26 @@ class Descriptions
|
|||||||
# Return true if the cache exists, and neither Homebrew nor any of the Taps
|
# Return true if the cache exists, and neither Homebrew nor any of the Taps
|
||||||
# repos were updated more recently than it was.
|
# repos were updated more recently than it was.
|
||||||
def self.cache_fresh?
|
def self.cache_fresh?
|
||||||
if CACHE_FILE.exist?
|
return false unless CACHE_FILE.exist?
|
||||||
cache_date = File.mtime(CACHE_FILE)
|
cache_mtime = File.mtime(CACHE_FILE)
|
||||||
|
ref_master = ".git/refs/heads/master"
|
||||||
|
|
||||||
ref_master = ".git/refs/heads/master"
|
master = HOMEBREW_REPOSITORY/ref_master
|
||||||
master = HOMEBREW_REPOSITORY/ref_master
|
|
||||||
|
|
||||||
last_update = (master.exist? ? File.mtime(master) : Time.at(0))
|
# If ref_master doesn't exist, it means brew update is never run.
|
||||||
|
# Since cache is found, we can assume it's fresh.
|
||||||
Dir.glob(HOMEBREW_LIBRARY/"Taps/**"/ref_master).each do |repo|
|
if master.exist?
|
||||||
repo_mtime = File.mtime(repo)
|
core_mtime = File.mtime(master)
|
||||||
last_update = repo_mtime if repo_mtime > last_update
|
return false if core_mtime > cache_mtime
|
||||||
end
|
|
||||||
last_update <= cache_date
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Tap.each do |tap|
|
||||||
|
next unless tap.git?
|
||||||
|
repo_mtime = File.mtime(tap.path/ref_master)
|
||||||
|
return false if repo_mtime > cache_mtime
|
||||||
|
end
|
||||||
|
|
||||||
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
# Create the cache if it doesn't already exist.
|
# Create the cache if it doesn't already exist.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user