git logでの%C(auto)

git log--onelineだとコミットした人の名前やコミットされた日付が出ないので、昔頑張って--prettyでキレイにする奴を書いた。ただこれだとタグやブランチ名などが全部同じ色になっちゃってて、微妙に不便だった(--onelineでは自動色分けされる)。我慢して使っていたんだけど、直せるのかなーとgit-logのヘルプをちゃんと読んだら%C(auto)を使えば自動色分けされることがわかった。

$ git log --graph --pretty='format:%C(yellow)%h<mark>%C(auto)%d%Creset</mark> %s %C(black bold)%an, %ar%Creset'

%C(auto)が効くかどうかはプレースホルダーによる。ref nameである%dには効くけど、例えば%an%arなどには効かない。