Есть ли способ настроить вывод git вины?
git log
имеет хороший параметр --format
, чтобы указать способ форматирования вывода.
Но git blame
, похоже, не имеет эквивалента, хотя вывод по умолчанию blame
не совсем удобен для человека. Я бы хотел видеть гораздо меньше.
Например, вместо:
5600cab7 js/sidebar/VehicleGrid.js (Rene Saarsoo 2009-10-08 18:55:24 +0000 127) if (x > y) {
b5f1040c js/map/monitoring/VehicleGrid.js (Mihkel Muhkel 2010-05-31 07:20:13 +0000 128) return x;
Я бы хотел:
5600cab7 Rene Saarsoo (1 year ago) 127: if (x > y) {
b5f1040c Mihkel Muhkel (5 months ago) 128: return x;
Я полагаю, что я мог написать script для синтаксического анализа вывода git blame --porcelain
, но учитывая ужасающий вывод по умолчанию blame
, я чувствую, что кто-то там, должно быть, уже что-то сделал с этим.
Любые идеи? Или любые советы по реализации такого script?
Изменить: Решено, написав small script.
Ответы
Ответ 1
Вы можете использовать альтернативный формат вывода: git annotate
или git blame -c
.
Вы можете изменить форматирование дат с помощью опции --date=<format>
(или blame.date
config variable), где <format>
является одним из относительных, локальных, по умолчанию, iso, rfc, short. Подробнее см. git-blame и git-log.
Ответ 2
Для меня работает флаг -s, потому что все, что мне нужно, это идентификатор SHA1, после которого я просматриваю коммит для деталей. A script определенно кажется излишним. Возможно, флаг -s был недоступен год назад?
Ответ 3
Учитывая, что веб-интерфейс, такой как Trac или Redmine, интегрирует результаты git blame
, я предполагаю, что такой синтаксический анализ уже выполнен.
Вы можете увидеть в этом Redmine Defect 3832 пример с этим ruby script: