Following command outputs following lines of text on console
git log --pretty=format:\"%h;%ai;%s\" --shortstat
ed6e0ab;2014-01-07 16:32:39 +0530;Foo
3 files
Following up @user2461539 to parse it into columns. Works with more complex cols like "Subject" too. Hack away to choose your own suitable delimiters. Currently need to cut subject line as it'll truncate other columns when it overflows.
#!/bin/bash
# assumes "_Z_Z_Z_" and "_Y_Y_" "_X_X_" as unused characters
# Truncate subject line sanitized (%f) or not (%s) to 79 %<(79,trunc)%f
echo commit,author_name,time_sec,subject,files_changed,lines_inserted,lines_deleted>../tensorflow_log.csv;
git log --oneline --pretty="_Z_Z_Z_%h_Y_Y_\"%an\"_Y_Y_%at_Y_Y_\"%<(79,trunc)%f\"_Y_Y__X_X_" --stat \
| grep -v \| \
| sed -E 's/@//g' \
| sed -E 's/_Z_Z_Z_/@/g' \
| tr "\n" " " \
| tr "@" "\n" |sed -E 's/,//g' \
| sed -E 's/_Y_Y_/, /g' \
| sed -E 's/(changed [0-9].*\+\))/,\1,/' \
| sed -E 's/(changed [0-9]* deleti.*-\)) /,,\1/' \
| sed -E 's/insertion.*\+\)//g' \
| sed -E 's/deletion.*\-\)//g' \
| sed -E 's/,changed/,/' \
| sed -E 's/files? ,/,/g' \
| sed -E 's/_X_X_ $/,,/g' \
| sed -E 's/_X_X_//g'>>../tensorflow_log.csv