Fix author-scan.sh on BSD systems.

BSD xargs does not have the -d option. Here we use tr to convert
newlines to NUL characters, then pass -0 to xargs (which BSD does
support).

I looked at passing -z to 'git ls-files', but I did not find a BSD
grep option to turn on NUL deliminted line processing.
This commit is contained in:
Matt Armstrong 2021-02-13 10:22:43 -08:00 committed by David Bremner
parent 8908779999
commit 5734d8bd32

View file

@ -5,7 +5,7 @@ AUTHOR_EXCLUDE='uncrustify'
# based on the FSF guideline, for want of a better idea. # based on the FSF guideline, for want of a better idea.
THRESHOLD=15 THRESHOLD=15
git ls-files | grep -v -e "$FILE_EXCLUDE" | xargs -n 1 -d \\n \ git ls-files | grep -v -e "$FILE_EXCLUDE" | tr '\n' '\0' | xargs -0 -n 1 \
git blame -w --line-porcelain -- | \ git blame -w --line-porcelain -- | \
sed -n "/$AUTHOR_EXCLUDE/d; s/^[aA][uU][tT][hH][Oo][rR] //p" | \ sed -n "/$AUTHOR_EXCLUDE/d; s/^[aA][uU][tT][hH][Oo][rR] //p" | \
sort -fd | uniq -ic | awk "\$1 >= $THRESHOLD" | sort -nr sort -fd | uniq -ic | awk "\$1 >= $THRESHOLD" | sort -nr