A DateRev string is a combination date/revision specification, used in the RuleQa system.
Inputs to the rule-QA system's mass-checks are:
- the code, at a specific revision
- the corpus, from a specific person at a specific date
- the subset of rules being masschecked
- the date and time of execution, for network tests
The daterev string (e.g. "20060405-r391250-n" in a RuleQaApp URL like http://ruleqa.spamassassin.org/20060405-r391250-n/BOUNCE_MESSAGE ), is used as an ID to represent those inputs, in the format "corpusdate-coderev-ruleset".
Unfortunately we can't just use code-rev and ruleset alone, since corpora change over time (and don't have a handy ID number like code-revs do). So I'm just using the date when the mass-check started, as the ID number identifying the corpus version. (that also takes care of 'date and time of execution', too.)
Timezones And Edges
Since the daily tag occurs at 0850 UTC, the 'date' part of the daterev string wraps around at 0800 UTC, just before that tag event. So, for example, here's a table of time_t value, time+date as string in the UTC timezone, and the corresponding daterev:
tt=1146092400: utc='Wed Apr 26 23:00:00 2006'; dr=20060426 tt=1146096000: utc='Thu Apr 27 00:00:00 2006'; dr=20060426 tt=1146099600: utc='Thu Apr 27 01:00:00 2006'; dr=20060426 tt=1146103200: utc='Thu Apr 27 02:00:00 2006'; dr=20060426 tt=1146106800: utc='Thu Apr 27 03:00:00 2006'; dr=20060426 tt=1146110400: utc='Thu Apr 27 04:00:00 2006'; dr=20060426 tt=1146114000: utc='Thu Apr 27 05:00:00 2006'; dr=20060426 tt=1146117600: utc='Thu Apr 27 06:00:00 2006'; dr=20060426 tt=1146121200: utc='Thu Apr 27 07:00:00 2006'; dr=20060426 tt=1146124800: utc='Thu Apr 27 08:00:00 2006'; dr=20060427 tt=1146128400: utc='Thu Apr 27 09:00:00 2006'; dr=20060427 tt=1146132000: utc='Thu Apr 27 10:00:00 2006'; dr=20060427 tt=1146135600: utc='Thu Apr 27 11:00:00 2006'; dr=20060427 tt=1146139200: utc='Thu Apr 27 12:00:00 2006'; dr=20060427 tt=1146142800: utc='Thu Apr 27 13:00:00 2006'; dr=20060427 tt=1146146400: utc='Thu Apr 27 14:00:00 2006'; dr=20060427 tt=1146150000: utc='Thu Apr 27 15:00:00 2006'; dr=20060427 tt=1146153600: utc='Thu Apr 27 16:00:00 2006'; dr=20060427 tt=1146157200: utc='Thu Apr 27 17:00:00 2006'; dr=20060427 tt=1146160800: utc='Thu Apr 27 18:00:00 2006'; dr=20060427 tt=1146164400: utc='Thu Apr 27 19:00:00 2006'; dr=20060427 tt=1146168000: utc='Thu Apr 27 20:00:00 2006'; dr=20060427 tt=1146171600: utc='Thu Apr 27 21:00:00 2006'; dr=20060427 tt=1146175200: utc='Thu Apr 27 22:00:00 2006'; dr=20060427