I need to get the output of a git log command formatted as JSON. I like the approach suggested in Git log output to XML, JSON, or YAML? to use a custom git log pretty format
I've added --name-only
parameter support to the original Noah Sussman's script so you can get the list of changed files using this command:
git log2json --name-only
The amended script is here.
I know little about Perl. Here is my way to get the changed files of a commit. Hope it helps.
git log -1 <sha1> --pretty=%h --name-only | tail -n +3