Git log JSON * com arquivos alterados *

Preciso obter a saída de um comando git log formatado como JSON. Eu gosto da abordagem sugerida emSaída de log do Git para XML, JSON ou YAML? para usar um formatador bonito de log git personalizado e uma leve camada de processamento perl na parte superior usando o comandoaqui:

git log \
--pretty=format:'{%n  "commit": "%H",%n  "author": "%an <%ae>",%n  "date": "%ad",%n  "message": "%f"%n},' \
$@ | \
perl -pe 'BEGIN{print "["}; END{print "]\n"}' | \
perl -pe 's/},]/}]/'

Isso funciona de maneira fantástica para obter esses campos, mas também preciso que a lista de arquivos alterados retorne do uso do sinalizador --name-status incluído na saída JSON.

Eu tentei várias abordagens, mas não sei como abordar isso. Meu intestino me diz que estou perdendo algo óbvio. Alguma ideia?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion