为什么Git有下午茶时间?

Jon*_*hop 102 git

在Git源代码中的date.c文件中,我注意到以下特殊时间名称的结构:

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 }
};
Run Code Online (Sandbox Code Playgroud)

我理解其中大部分的实用性(有些),但为什么要有"茶"时间(评估为17:00)?这只是一个复活节彩蛋吗?

Axe*_*xel 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>
Run Code Online (Sandbox Code Playgroud)

  • @JonahBishop,你不知道吗?如果您修改源并重新编译它,您可以拥有自定义功能.... (38认同)
  • 那么,要添加一个新的自定义日期,是否必须使用特定的更改重新编译Git?或者是否有一些后编译步骤可以指定这些? (2认同)
  • @jhpratt 构建系统就是这样有趣,要么习惯它,要么解决问题并为免费开源项目做出贡献。 (2认同)