Чому у 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
Я недостатньо знайомий з приблизними і як це працює, щоб мати можливість відповісти. Судячи з відсутності на ньому документації, я, мабуть, сказав би так - вам потрібно буде перекомпілювати git, щоб підтримати його.
Аксель

38
@JonahBishop, ти не знав? Ви можете мати власні функції, якщо змінити джерело та перекомпілювати його ....
Пол Дрейпер,

1
@jhpratt Я тут не бачу жодних проблем. Ніхто не обіцяв, що ви будете легко використовувати налаштування, які ви додали так легко.
Атомоск

1
Системи @jhpratt Build такі цікаві: або звикайте до цього, або вирішуйте проблему, і вносите свій внесок у безкоштовний проект з відкритим кодом.
Серхіо Басурко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.