Мені потрібна дата в спеціальному форматі.
У 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().