diff options
author | Mark Wenning <wenning@us.ibm.com> | 2011-07-14 10:17:44 -0500 |
---|---|---|
committer | CAMVAN T. NGUYEN <ctnguyen@us.ibm.com> | 2011-08-24 10:02:49 -0500 |
commit | 4b1d987b38960c882ae0e1b67d9816ab71b1c19f (patch) | |
tree | 0a0642cb32d5cabcee5956bc2e3bbe7c44f62e98 /src/build/tools/pre-receive | |
parent | 4b90ae7449d417258ad29e52ca3e03a3df3a7e02 (diff) | |
download | talos-hostboot-4b1d987b38960c882ae0e1b67d9816ab71b1c19f.tar.gz talos-hostboot-4b1d987b38960c882ae0e1b67d9816ab71b1c19f.zip |
Scripts to add copyright blocks on all files during a commit
- created
- run src/build/tools/setupgithooks.sh to config git to use these scripts
- use git log to get the date of the first checkin of the file -
if different, put "copyright 20xx - 2011" string.
- modify copyright block to say "HostBoot" instead of FSP
- add copyright-check.sh script to run during gerrit trigger
- new requirements: use templates from "FSP Clearcase Architecture"
- use C++ style comments for C, H files
- add xml section
- set up copyright-check.sh and cxxtest-start.sh
Change-Id: Id1e5d78dc0498fe4ef43eadbea81d6e6c5fab413
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/199
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com>
Diffstat (limited to 'src/build/tools/pre-receive')
-rwxr-xr-x | src/build/tools/pre-receive | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/src/build/tools/pre-receive b/src/build/tools/pre-receive new file mode 100755 index 000000000..60b07d4ed --- /dev/null +++ b/src/build/tools/pre-receive @@ -0,0 +1,89 @@ +#!/usr/bin/perl +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/build/tools/pre-receive $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2011 +# +# p1 +# +# Object Code Only (OCO) source materials +# Licensed Internal Code Source Materials +# IBM HostBoot Licensed Internal Code +# +# The source code for this program is not published or other- +# wise divested of its trade secrets, irrespective of what has +# been deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# IBM_PROLOG_END + +# +# From "git help githooks" : +# "This hook executes once for the receive operation. It takes no arguments, +# but for each ref to be updated it receives on standard input a line of +# the format: +# +# <old-value> SP <new-value> SP <ref-name> LF +# +# where <old-value> is the old object name stored in the ref, +# <new-value> is the new object name to be stored in the ref, +# and <ref-name> is the full name of the ref. +# When creating a new ref, <old-value> is 40 0." +# + +$COPYRIGHT_SCRIPT=".git/hooks/addCopyright.pl"; + +print "Processing pre-receive script\n"; + +while (<STDIN>) +{ + my $refsLine = $_; + if ($refsLine =~ /([0-9a-f]*) ([0-9a-f]*) (.*)/) + { + my ($oldRef, $newRef, $refName) = ($1, $2, $3); + print "$oldRef, $newRef, $refName\n"; + + my @diffTreeList = split('\n', `git diff-tree -r --diff-filter=AM $newRef $oldRef`); + foreach my $diffTreeLine (@diffTreeList) + { + #print "$diffTreeLine\n"; + if ($diffTreeLine =~ m/^:\d*\s*\d*\s*(\S*)\s*(\S*)\s*(\S*)\s*(\S*)/) + { + my ($diffNewRef, $diffOldRef, $type, $name) = ($1, $2, $3, $4); + my $namePart = $name; + if ($name =~ m/\/([^\/]*)$/) + { + $namePart = $1; + } + + if ($diffNewRef != 0) + { + my $tmpName = "/tmp/git_$<_$diffNewRef"."_$namePart"; + + system("git show $diffNewRef > $tmpName"); + if ($? != 0) + { + print "Unable to git show $diffNewRef on file $name type $type\n"; + exit 1; + } + # system("/gsa/rchgsa/projects/p/powerhal/tools/addCopyright.pl validate $tmpName"); + system( "$COPYRIGHT_SCRIPT validate $tmpname" ); + if ($? != 0) + { + print "File $name does not have a correct prolog\n"; + system("rm -f $tmpName"); + exit 1; + } + system("rm -f $tmpName"); + } + } + } + } +} + +exit 0; |