Как показать общее количество строк, измененных в однотипном формате git log?

Я хочу добавить общее количество строк, измененных для каждой фиксации в этом выпуске:

git log --pretty=format:"%cd | %cn | %h | %s"

Каков наилучший способ достичь этого?

Всего 1 ответ


Не стесняйтесь модифицировать это, но это довольно просто:

function gcount() {
    git diff --shortstat $1 | sed -E 's/[^[:digit:][:space:]]//g' | awk '{ print $2+$3 }'
}

git log --pretty=format:"%h" | while read hash
do
    echo "$(gcount $hash)"
done | head > a.txt

git log --pretty=format:"%cd | %cn | %h | %s" | head > b.txt

paste b.txt a.txt

Есть идеи?

10000