#!/bin/sh FILE_EXCLUDE='corpora' AUTHOR_EXCLUDE='uncrustify' # based on the FSF guideline, for want of a better idea. THRESHOLD=15 git ls-files | grep -v "$FILE_EXCLUDE" | while read f; do git blame -w --line-porcelain -- "$f" | grep -I '^author ' | grep -v "$AUTHOR_EXCLUDE" done | sort -fd | uniq -ic | awk "\$1 >= $THRESHOLD" | sort -nr