aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/fixCopyright.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/fixCopyright.sh')
-rwxr-xr-xscripts/fixCopyright.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/fixCopyright.sh b/scripts/fixCopyright.sh
new file mode 100755
index 00000000000..cdc3a57a70c
--- /dev/null
+++ b/scripts/fixCopyright.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# Prepend a copyright header to all files given on the command line.
+# Sample usage:
+# find . -type f -name \*.cpp -o -name \*.h | \
+# xargs ~/bin/hasCopyright.sh | grep ": NO COPYRIGHT" | grep "^./src/" | \
+# cut -d ':' -f1 | xargs ~/bin/fixCopyright.sh /tmp/copyright.txt
+
+COPYRIGHT_HEADER=$1
+
+test -f "$COPYRIGHT_HEADER" || exit 16
+shift
+
+echo "Using $COPYRIGHT_HEADER..."
+
+WORKDIR=`mktemp -d`
+test -d "$WORKDIR" || exit 17
+
+for i in $@ ; do
+ echo -n "Fixing $i..."
+ if test -f "$i" && test -s "$i" ; then
+ BASENAME=`basename "$i"`
+ TMP_NAME="$WORKDIR/$BASENAME"
+ sed '/./,$!d' "$i" > "$TMP_NAME" # remove leading empty lines
+ cat "$COPYRIGHT_HEADER" "$TMP_NAME" > "$i"
+ rm "$TMP_NAME"
+ fi
+ echo done.
+done
+
+rmdir "$WORKDIR"