#!/bin/sh # Sum up the git changes and print in a pretty way git diff --numstat "$@" | awk ' BEGIN { ADD = "\033[31;1m" DEL = "\033[32;1m" CHANGE = "\033[33;1m" NORM = "\033[0m" } { adds += $1; dels += $2; print(CHANGE "~" ($1 + $2) "\t" ($1 > $2 ? ADD"+" : DEL) ($1-$2) NORM "\t" $3) } END { print("[", CHANGE NR " files changed" NORM, "|", DEL dels " deletions" NORM, "|", ADD adds " insertions" NORM, "|", (adds > dels ? ADD"+" : DEL) (adds-dels) " net", NORM "]") }'