Why does git have a tea time?

  • A+
Category:Languages

In the date.c file in Git's source code, I note the following structure of special time names:

static const struct special {     const char *name;     void (*fn)(struct tm *, struct tm *, int *); } special[] = {     { "yesterday", date_yesterday },     { "noon", date_noon },     { "midnight", date_midnight },     { "tea", date_tea },     { "PM", date_pm },     { "AM", date_am },     { "never", date_never },     { "now", date_now },     { NULL } }; 

I understand the utility (somewhat) of most of these, but why have a "tea" time (it evaluates to 17:00 hours)? Is this just an Easter egg of sorts?

 


This commit might give you a clue as to why it was included: https://github.com/git/git/commit/a8aca418d6484400d6804e22717bd49ca06c28e9

I think it was suggested initially as a joke, but actually implemented to demonstrate the ability for users to include their own custom time/date periods:

On Fri, 18 Nov 2005, David Roundy wrote: > Don't forget "high noon"!  (and perhaps "tea time"?)  :)   Done.      [torvalds@g5 git]$ ./test-date "now" "midnight" "high noon" "tea-time"     now -> bad -> Wed Dec 31 16:00:00 1969     now -> Fri Nov 18 08:50:54 2005      midnight -> bad -> Wed Dec 31 16:00:00 1969     midnight -> Fri Nov 18 00:00:00 2005      high noon -> bad -> Wed Dec 31 16:00:00 1969     high noon -> Thu Nov 17 12:00:00 2005      tea-time -> bad -> Wed Dec 31 16:00:00 1969     tea-time -> Thu Nov 17 17:00:00 2005  Thanks for pointing out tea-time.  This is also written to easily extended to allow people to add their own important dates like Christmas and their own birthdays.  Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: