Mengapa Git memiliki waktu minum teh?


102

Di file date.c di kode sumber Git, saya perhatikan struktur nama waktu khusus berikut:

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 }
};

Saya memahami kegunaan (agak) dari sebagian besar ini, tetapi mengapa memiliki waktu "teh" (ini mengevaluasi jam 17:00)? Apakah ini hanya semacam telur Paskah ?

Jawaban:


65

Komit ini mungkin memberi Anda petunjuk mengapa itu disertakan: https://github.com/git/git/commit/a8aca418d6484400d6804e22717bd49ca06c28e9

Saya pikir itu awalnya disarankan sebagai lelucon, tetapi sebenarnya diterapkan untuk menunjukkan kemampuan bagi pengguna untuk memasukkan periode waktu / tanggal khusus mereka sendiri:

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>

2
Jadi, untuk menambahkan tanggal kustom baru, apakah seseorang harus mengkompilasi ulang Git dengan perubahan spesifiknya? Atau adakah langkah pasca-kompilasi di mana seseorang dapat menentukannya?
Jonah Bishop

1
Saya kurang paham dengan perkiraan dan cara kerjanya untuk bisa menjawab. Dilihat dari kurangnya dokumentasi, saya mungkin akan mengatakan ya - Anda perlu mengkompilasi ulang git untuk mendukungnya.
Axel

38
@JonahBishop, apa kamu tidak tahu? Anda dapat memiliki fitur kustom jika Anda memodifikasi sumber dan mengkompilasinya kembali ....
Paul Draper

1
@jhpratt Saya tidak melihat masalah di sini. Tidak ada yang berjanji akan mudah menggunakan penyesuaian yang telah Anda tambahkan dengan mudah.
Atomosk

1
@jhpratt Sistem build menyenangkan seperti itu, biasakan atau selesaikan masalah dan berkontribusi pada proyek open source gratis.
Sergio Basurco
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.