2014-01-31 2 views
2

Я хотел бы всегда указывать имя автора и дату автора, но при желании можно указать имя коммандера и дату коммандера, если они отличаются от имени и даты автора.Можно ли динамически генерировать формат журнала git?

Это в основном для использования после переустановки. Информация об авторе остается прежней, но информация Committer меняется. Если и только если они разные, я бы хотел показать информацию коммитера в дополнение к информации об Авторе.

Автор и коммиттера Информация одинаковы:

%C(yellow)%h%Creset %s %C(cyan)(%an - %ar)%Creset 

Different:

%C(yellow)%h%Creset %s %C(cyan)(%an - %ar, %cn - %cr)%Creset 

Возможно ли это?

ответ

3

В аргументах формата нет никаких условных выражений, и нет строки форматирования, которая так условно расширяется, что: no. С другой стороны, вы можете извлечь информацию из фиксации вручную (в скрипте), сравнить, а затем выбрать, какой формат применить к этому коммиту, так что: да, если вы готовы сделать это за пределами git log команда.

Для показа одной фиксации последний кажется разумным. Для просмотра всего журнала я подозреваю, что это будет очень болезненно. :-) (Можно еще сделать, используйте git rev-list, чтобы сгенерировать список оборотов, затем git log каждый, по одному за раз, весь результат через тот же пейджер git log будет использовать и т. Д. Но ... больно.)

Смежные вопросы