1
0

scripts: two scripts to determine copyright holder of files

This commit is contained in:
Wesley W. Terpstra
2016-11-27 15:36:02 -08:00
parent 4146f6a792
commit 8510d9e697
5 changed files with 268 additions and 0 deletions

51
scripts/authors Executable file
View File

@ -0,0 +1,51 @@
#! /bin/sh
while read when who; do
case "$who" in
"Adam Izraelevitz") echo Berkeley ;;
"Albert Magyar") echo Berkeley ;;
"Albert Ou") if [ $when -ge 20151101 ]; then echo SiFive; else echo Berkeley; fi ;;
"Amirali Sharifian") echo Unknown ;;
"Andrew Waterman") if [ $when -ge 20150901 ]; then echo SiFive; else echo Berkeley; fi ;;
"Ben Keller") echo Berkeley ;;
"Christopher Celio") echo Berkeley ;;
"Colin Schmidt") echo Berkeley ;;
"Daiwei Li") echo Berkeley ;;
"David Biancolin") echo Berkeley ;;
"Donggyu") echo Berkeley ;;
"Donggyu Kim") echo Berkeley ;;
"ducky") echo Berkeley ;;
"Eric Love") echo Berkeley ;;
"Gage W Eads") echo Berkeley ;;
"Henry Cook") if [ $when -ge 20160501 ]; then echo SiFive; else echo Berkeley; fi ;;
"Howard Mao") if [ $when -ge 20160601 -a $when -le 20160819 ]; then echo SiFive; else echo Berkeley; fi ;;
"Huy Vo") echo Berkeley ;;
"Iori YONEJI") echo Unknown ;;
"jackkoenig") echo Berkeley ;;
"Jack Koenig") echo Berkeley ;;
"Jacob Chang") echo SiFive ;;
"Jim Lawson") echo Berkeley ;;
"John Wright") echo Berkeley ;;
"Ken McMillan") echo Microsoft;;
"Matthew Naylor") echo Cambridge;;
"Megan Wachs") echo SiFive ;;
"Miquel Moreto") echo Berkeley ;;
"mwachs5") echo SiFive ;;
"Palmer Dabbelt") echo Berkeley ;;
"Quan Nguyen") echo Berkeley ;;
"RainerWasserfuhr") echo Unknown ;;
"Richard Xia") echo SiFive ;;
"Rimas Avizienis") echo Berkeley ;;
"roman3017") echo Unknown ;;
"Sagar Karandikar") echo Berkeley ;;
"Schuyler Eldridge") echo Unknown ;;
"Scott Beamer") echo Berkeley ;;
"Scott Johnson") echo SiFive ;;
"SeungRyeol Lee") echo LGE ;;
"Stephen Twigg") echo Berkeley ;;
"Wei Song") echo Cambridge;;
"Wesley W. Terpstra") echo SiFive ;;
"Yunsup Lee") if [ $when -gt 20150901 ]; then echo SiFive; else echo Berkeley; fi ;;
*) echo NoMatch; echo "Missing scripts/authors entry for $who" >&2; exit 1 ;;
esac
done

6
scripts/copyright-file Executable file
View File

@ -0,0 +1,6 @@
#! /bin/sh
d=$(dirname $0)
for i in "$@"; do
if [ $# -gt 1 ]; then echo "$i:"; fi
git blame --date="format:%Y%m%d" -M -C -C -C "$i" | sed 's/[^(]*(\([^0-46-9]*\) \([0-9]*\).*/\2 \1/' | $d/authors | sort | uniq -c | sort -rn
done

9
scripts/modify-copyright Executable file
View File

@ -0,0 +1,9 @@
#! /bin/sh
d=$(dirname "$0")
threshold=10
for i in $(git ls-tree -r HEAD . | grep '\.\(scala\|cc\|v\)' | cut -f2); do
("$d/copyright-file" "$i" | sort -rn | awk 'NR == 1 || $1 > '$threshold' { print }' | sed 's@[^A-Z]*@// See LICENSE.@;s@$@ for license details.@;$a\\'; \
grep -v "^// See LICENSE" $i | sed '/./,$!d') > $i.tmp
mv $i.tmp $i
done