Pourquoi Git prend-il l'heure du thé?


102

Dans le fichier date.c du code source de Git, je note la structure suivante des noms d'heure spéciaux:

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

Je comprends (un peu) l'utilité de la plupart de ces derniers, mais pourquoi prendre un «thé» (il évalue à 17h00)? Est-ce juste une sorte d' oeuf de Pâques ?

Réponses:


65

Ce commit pourrait vous donner une idée de la raison pour laquelle il a été inclus: https://github.com/git/git/commit/a8aca418d6484400d6804e22717bd49ca06c28e9

Je pense que cela a été suggéré au départ comme une blague, mais en fait mis en œuvre pour démontrer la capacité des utilisateurs à inclure leurs propres périodes d'heure / date personnalisées:

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
Donc, pour ajouter une nouvelle date personnalisée, faudrait-il recompiler Git avec leurs modifications spécifiques? Ou y a-t-il une étape post-compilation où on peut les spécifier?
Jonah Bishop

1
Je ne connais pas assez approximativement et comment cela fonctionne pour pouvoir répondre. A en juger par le manque de documentation, je dirais probablement que oui - vous auriez besoin de recompiler git pour le supporter.
Axel

38
@JonahBishop, tu ne savais pas? Vous pouvez avoir des fonctionnalités personnalisées si vous modifiez la source et la recompilez ....
Paul Draper

1
@jhpratt Je ne vois aucun problème ici. Personne n'a promis qu'il serait facile d'utiliser les personnalisations que vous avez ajoutées si facilement.
Atomosk

1
Les systèmes @jhpratt Build sont amusants comme ça, soit pour s'y habituer, soit pour résoudre le problème et contribuer au projet open source gratuit.
Sergio Basurco
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.