Ho bisogno della data in un formato speciale.
Con Git 2.21 (Q1 2019), è stato introdotto un nuovo formato di data " --date=human
" che trasforma il suo output a seconda di quanto tempo è trascorso dall'ora corrente .
"--date=auto
" può essere usato per usare questo nuovo formato quando l'output sta andando al cercapersone o al terminale e altrimenti al formato predefinito.
Vedi commit 110a6a1 , commit b841d4f (29 gennaio 2019) e commit 038a878 , commit 2fd7c22 (21 gennaio 2019) di Stephen P. Smith (``) .
Vedi commit acdd377 (18 gennaio 2019) di Linus Torvalds ( torvalds
) .
(Unito da Junio C Hamano - gitster
- in commit ecbe1be , 07 feb 2019)
Aggiungi la documentazione "umana" in formato data
Visualizza le informazioni su data e ora in un formato simile a come le persone scrivono le date in altri contesti.
Se l'anno non viene specificato, il lettore indica che la data indicata è nell'anno corrente .
Non visualizzando le informazioni ridondanti, il lettore si concentra sulle informazioni diverse .
La patch riporta le date relative in base alle informazioni dedotte dalla data sulla macchina che esegue il git
comando al momento dell'esecuzione del comando.
Mentre il formato è più utile per gli umani rilasciando informazioni dedotte, non c'è nulla che lo renda effettivamente umano.
Se il ' relative
' formato della data non fosse già implementato, allora usare ' relative
' sarebbe stato appropriato.
Aggiungi human
test del formato della data.
Quando si utilizzano human
diversi campi vengono soppressi a seconda della differenza di orario tra la data di riferimento e la data del computer locale.
- Nei casi in cui la differenza è inferiore a un anno, il campo dell'anno viene soppresso.
- Se il tempo è inferiore a un giorno; il mese e l'anno sono soppressi.
check_date_format_human 18000 "5 hours ago" # 5 hours ago
check_date_format_human 432000 "Tue Aug 25 19:20" # 5 days ago
check_date_format_human 1728000 "Mon Aug 10 19:20" # 3 weeks ago
check_date_format_human 13000000 "Thu Apr 2 08:13" # 5 months ago
check_date_format_human 31449600 "Aug 31 2008" # 12 months ago
check_date_format_human 37500000 "Jun 22 2008" # 1 year, 2 months ago
check_date_format_human 55188000 "Dec 1 2007" # 1 year, 9 months ago
check_date_format_human 630000000 "Sep 13 1989" # 20 years ago
## Sostituisci la ' auto
' modalità proposta con ' auto:
'
Oltre ad aggiungere il human
formato " ", la patch ha aggiunto la auto
parola chiave che potrebbe essere utilizzata nel file di configurazione come modo alternativo per specificare il formato umano. La rimozione di "auto" pulisce l' human
interfaccia del formato " ".
Aggiunta la possibilità di specificare la modalità ' foo
' se il cercapersone viene utilizzato utilizzando la auto:foo
sintassi.
Pertanto, la auto:human
modalità data predefinita è human
se stiamo usando il cercapersone.
Quindi puoi fare:
git config --add log.date auto:human
e i tuoi git log
comandi " " mostreranno il formato leggibile dall'uomo a meno che tu non stia scrivendo cose.
Git 2.24 (Q4 2019) ha semplificato il codice.
Vedi commit 47b27c9 , commit 29f4332 (12 set 2019) di Stephen P. Smith (``) .
(Unito da Junio C Hamano - gitster
- in commit 36d2fca , 07 ott 2019)
Terminare il passaggio 'ora' al codice data
Commit b841d4f (Aggiungi human
formato a test-tool, 28-01-2019, Git v2.21.0-rc0) ha aggiunto una get_time()
funzione che consente $GIT_TEST_DATE_NOW
all'ambiente di sovrascrivere l'ora corrente.
Quindi non abbiamo più bisogno di interpretare quella variabile incmd__date()
.
Pertanto, possiamo interrompere il passaggio del now
parametro " " attraverso le funzioni di data, poiché nessuno le utilizza.
Si noti che è necessario assicurarsi che tutti i chiamanti precedenti che hanno utilizzato un now
parametro " " vengano utilizzati correttamente get_time()
.