comparison core.lua @ 62:d5fe3482db67

Be smarter about revision checking. ALL the revision checking.
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Fri, 20 Apr 2012 03:29:24 +0000
parents 99ab21f0755f
children 00bf6d4f9238
comparison
equal deleted inserted replaced
61:99ab21f0755f 62:d5fe3482db67
103 OuroLootSV_log = {} 103 OuroLootSV_log = {}
104 104
105 105
106 ------ Constants 106 ------ Constants
107 local option_defaults = { 107 local option_defaults = {
108 ['datarev'] = 16, -- cheating, this isn't actually an option 108 ['datarev'] = 17, -- cheating, this isn't actually an option
109 ['popup_on_join'] = true, 109 ['popup_on_join'] = true,
110 ['register_slashloot'] = true, 110 ['register_slashloot'] = true,
111 ['scroll_to_bottom'] = true, 111 ['scroll_to_bottom'] = true,
112 ['chatty_on_kill'] = false, 112 ['chatty_on_kill'] = false,
113 ['no_tracking_wipes'] = false, 113 ['no_tracking_wipes'] = false,
264 -- 264 --
265 -- This makes/reinforces an assumption that revision_large of release packages 265 -- This makes/reinforces an assumption that revision_large of release packages
266 -- (e.g., 2016001) will always be higher than those of development packages 266 -- (e.g., 2016001) will always be higher than those of development packages
267 -- (e.g., 87), due to the tagging system versus subversion file revs. This 267 -- (e.g., 87), due to the tagging system versus subversion file revs. This
268 -- is good, as local dev code will never trigger a false positive update 268 -- is good, as local dev code will never trigger a false positive update
269 -- warning for other users. The downside is that additional decimal places 269 -- warning for other users.
270 -- in the Version field for bugfixes (e.g., "2.16.4.1") imposes a high-water
271 -- mark, as subsequent shorter strings ("2.16.5", "2.17") will never be larger.
272 -- Will need to redo this so it's not quite so dumb.
273 do 270 do
274 local r = 0 271 local r = 0
275 for d in addon.revision:gmatch("%d+") do 272 for d in addon.revision:gmatch("%d+") do
276 r = 1000*r + d 273 r = 1000*r + d
274 end
275 -- If it's a big enough number to obviously be a release, then make
276 -- sure it's big enough to overcome many small point releases.
277 while r > 2000 and r < 2000000 do
278 r = 1000*r
277 end 279 end
278 revision_large = math.max(r,1) 280 revision_large = math.max(r,1)
279 end 281 end
280 282
281 -- Hypertext support, inspired by DBM broadcast pizza timers 283 -- Hypertext support, inspired by DBM broadcast pizza timers
566 end 568 end
567 end 569 end
568 stored_datarev = 17 570 stored_datarev = 17
569 end 571 end
570 if dirty then self:Print("Saved data has been massaged into shape.") end 572 if dirty then self:Print("Saved data has been massaged into shape.") end
573 assert(stored_datarev==opts.datarev)
571 end 574 end
572 575
573 _init(self) 576 _init(self)
574 self.dprint('flow', "version strings:", revision_large, self.status_text) 577 self.dprint('flow', "version strings:", revision_large, self.status_text)
575 self.OnInitialize = nil 578 self.OnInitialize = nil