Git에 티타임이있는 이유는 무엇입니까?


102

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

나는 이들 대부분의 유용성 (다소)을 이해하지만 왜 "티"타임 (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을 다시 컴파일해야합니까? 아니면이를 지정할 수있는 컴파일 후 단계가 있습니까?
Jonah Bishop

1
나는 근사치와 그것이 어떻게 대답 할 수 있는지에 대해 충분히 익숙하지 않습니다. 그것에 대한 문서가 부족하다고 판단하면 아마도 예라고 말할 것입니다. 지원하려면 git을 다시 컴파일해야합니다.
Axel

38
@JonahBishop, 몰랐어? 당신은 .... 당신이 소스를 수정하고 다시 컴파일하는 경우 사용자 정의 기능을 가질 수
폴 드레이퍼에게

1
@jhpratt 여기에 문제가 없습니다. 아무도 당신이 추가 한 커스터마이즈를 쉽게 사용할 수있을 것이라고 약속하지 않았습니다.
Atomosk

1
@jhpratt 빌드 시스템은 익숙해 지거나 문제를 해결하고 무료 오픈 소스 프로젝트에 기여하는 것처럼 재미 있습니다.
Sergio Basurco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.