Use epochs in tabs

This commit is contained in:
Vlad Shablinsky 2016-08-11 10:00:39 +02:00
parent 884a839c71
commit f085597cbd
2 changed files with 12 additions and 0 deletions

View File

@ -436,6 +436,7 @@ class Formula
def head_version_outdated?(version, options={}) def head_version_outdated?(version, options={})
tab = Tab.for_keg(prefix(version)) tab = Tab.for_keg(prefix(version))
return true if tab.version_scheme < version_scheme
return true if stable && tab.stable_version && tab.stable_version < stable.version return true if stable && tab.stable_version && tab.stable_version < stable.version
return true if devel && tab.devel_version && tab.devel_version < devel.version return true if devel && tab.devel_version && tab.devel_version < devel.version
@ -1708,6 +1709,9 @@ class Formula
# Used for creating new Homebrew versions schemes. For example, if we want # Used for creating new Homebrew versions schemes. For example, if we want
# to change version scheme from one to another, then we may need to update # to change version scheme from one to another, then we may need to update
# `version_scheme` of this {Formula} to be able to use new version scheme. # `version_scheme` of this {Formula} to be able to use new version scheme.
# E.g. to move from 20151020 scheme to 1.0.0 we need to increment
# `version_scheme`. Without this, the prior scheme will always equate to a
# higher version.
# `0` if unset. # `0` if unset.
# #
# <pre>version_scheme 1</pre> # <pre>version_scheme 1</pre>

View File

@ -37,6 +37,7 @@ class Tab < OpenStruct
"stable" => formula.stable ? formula.stable.version.to_s : nil, "stable" => formula.stable ? formula.stable.version.to_s : nil,
"devel" => formula.devel ? formula.devel.version.to_s : nil, "devel" => formula.devel ? formula.devel.version.to_s : nil,
"head" => formula.head ? formula.head.version.to_s : nil, "head" => formula.head ? formula.head.version.to_s : nil,
"version_scheme" => formula.version_scheme,
} }
} }
} }
@ -78,6 +79,7 @@ class Tab < OpenStruct
"stable" => nil, "stable" => nil,
"devel" => nil, "devel" => nil,
"head" => nil, "head" => nil,
"version_scheme" => 0,
} }
end end
@ -142,6 +144,7 @@ class Tab < OpenStruct
"stable" => f.stable ? f.stable.version.to_s : nil, "stable" => f.stable ? f.stable.version.to_s : nil,
"devel" => f.devel ? f.devel.version.to_s : nil, "devel" => f.devel ? f.devel.version.to_s : nil,
"head" => f.head ? f.head.version.to_s : nil, "head" => f.head ? f.head.version.to_s : nil,
"version_scheme" => f.version_scheme,
} }
} }
end end
@ -168,6 +171,7 @@ class Tab < OpenStruct
"stable" => nil, "stable" => nil,
"devel" => nil, "devel" => nil,
"head" => nil, "head" => nil,
"version_scheme" => 0,
} }
} }
} }
@ -271,6 +275,10 @@ class Tab < OpenStruct
Version.create(versions["head"]) if versions["head"] Version.create(versions["head"]) if versions["head"]
end end
def version_scheme
versions["version_scheme"] || 0
end
def source_modified_time def source_modified_time
Time.at(super) Time.at(super)
end end