Подтвердить что ты не робот

Есть ли способ настроить вывод 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.

4b9b3361

Ответ 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: