なぜGitはティータイムを持っているのですか?


102

date.cのGitのソースコード内のファイル、私は特別な時間名の次のような構造に注意してください。

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

私はこれらのほとんどのユーティリティを(ある程度)理解していますが、「ティー」タイム(17:00時間と評価される)があるのはなぜですか?これは一種のイースターエッグですか?

回答:


65

このコミットは、なぜそれが含まれていたかについての手掛かりを与えるかもしれません:https : //github.com/git/git/commit/a8aca418d6484400d6804e22717bd49ca06c28e9

最初は冗談として提案されたと思いますが、実際には、ユーザーが独自のカスタムの時間/日付期間を含めることができることを示すために実装されました。

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
では、新しいカスタム日付を追加するには、特定の変更を加えてGitを再コンパイルする必要がありますか?または、これらを指定できるコンパイル後のステップはありますか?
ジョナビショップ

1
私はapproxidateとそれに答えるためにどのように機能するかについて十分に詳しくありません。ドキュメントが不足していることから判断すると、おそらく「はい」と言えます。それをサポートするには、gitを再コンパイルする必要があります。
アクセル

38
@JonahBishop、知らなかったの?あなたは....あなたがソースを変更し、それを再コンパイルする場合は、カスタムが特徴持つことができます
ポール・ドレイパー

1
@jhpratt私はここで何の問題も見ません。追加したカスタマイズを簡単に使用できると約束した人はいません。
アトモスク2018

1
@jhprattビルドシステムはそのように楽しいです。慣れるか、問題を解決して、無料のオープンソースプロジェクトに貢献してください。
セルジオバズルコ2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.