Мені потрібна дата в спеціальному форматі.
У Git 2.21 (1 квартал 2019 р.) Новий формат дати " --date=human
", який перетворює результат, залежно від того, наскільки введено час від поточного часу .
" --date=auto
" може бути використаний для використання цього нового формату, коли вихід збирається в пейджер або в термінал, інакше формат за замовчуванням.
Див. Команду 110a6a1 , фіксує b841d4f (29 січня 2019 року) та виконує 038a878 , виконує 2fd7c22 (21 січня 2019 року) Стівена П. Сміта (``) .
Див. Комісію acdd377 (18 січня 2019) Лінуса Торвальдса ( torvalds
) .
(Об'єднав Хуніо С Хамано - gitster
- в комітеті ecbe1be , 07 лютого 2019 р.)
Додайте документацію формату "людського" дати
Відображайте інформацію про дату та час у форматі, подібному до того, як люди записують дати в інших контекстах.
Якщо рік не вказаний, читач підказує, що дана дата є в поточному році .
Не відображаючи зайвої інформації, читач концентрується на інформації, що відрізняється .
Патч повідомляє про відносні дати на основі інформації, що виводиться з дати на машині, що виконує git
команду, під час виконання команди.
Хоча формат є більш корисним для людини, відкидаючи підведену інформацію, нічого, що робить її насправді людиною.
Якщо relative
формат дати ще не був реалізований, то використання " relative
" було б доречним.
Додати human
тести формату дати.
При використанні human
декількох полів придушується залежно від різниці в часі між базовою датою та датою локального комп'ютера.
- У випадках, коли різниця менше року, поле року придушується.
- Якщо час менше доби; місяць і рік придушені.
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
## Замініть запропонований auto
режим ' auto:
' на ' '
Крім додавання human
формату ' ', патч додав auto
ключове слово, яке може бути використане у конфігураційному файлі як альтернативний спосіб визначення людського формату. Якщо вилучити "auto", очистить human
інтерфейс формату.
Додана можливість вказувати режим ' foo
', якщо пейджер використовується за допомогою auto:foo
синтаксису.
Тому " auto:human
" режим дати за замовчуванням, human
якщо ми використовуємо пейджер.
Тож ви можете зробити:
git config --add log.date auto:human
і ваші git log
команди " " покажуть формат, розбірливий для людини, якщо ви не пишете речі.
Git 2.24 (Q4 2019) спростив код.
Див. Команду 47b27c9 , виконувати 29f4332 (12 вересня 2019 р.) Стівена П. Сміта (``) .
(Об'єднав Хуніо С Хамано - gitster
- у коміт 36d2fca , 07 жовтня 2019 р.)
Покиньте передавати "зараз" коду дати
Фіксація b841d4f (Додати human
формат для тест-інструменту, 2019-01-28, Гіт v2.21.0-RC0) додали get_time()
функцію , яка дозволяє $GIT_TEST_DATE_NOW
в навколишньому середовищі , щоб перевизначити поточний час.
Тому нам більше не потрібно інтерпретувати цю змінну в cmd__date()
.
Тому ми можемо зупинити передачу параметра " now
" вниз через функції дати, оскільки ніхто їх не використовує.
Зауважте, що нам потрібно переконатися, що всі попередні абоненти, які прийняли " now
" параметр, правильно використовують get_time()
.