From 7bd8c8288234a22a59506bcaa47f2f6256739911 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 14 Jan 2015 10:27:29 -0600 Subject: [PATCH] Ignore copyright update commits when determining the last update to a file. --- contrib/utilities/update-copyright | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/contrib/utilities/update-copyright b/contrib/utilities/update-copyright index 2a9b629808..4bd42c34c0 100755 --- a/contrib/utilities/update-copyright +++ b/contrib/utilities/update-copyright @@ -35,8 +35,21 @@ files="`echo include/deal.II/*/*h \ " for i in $files ; do - # get the last year this file was modified from the git log - last_year=`git log -n 1 --date=short --format="format:%cd" $i | perl -pi -e 's/.*(\d\d\d\d)-.*/\1/g;'` + # get the last year this file was modified from the git log. + # we don't want to see patches that just updated the copyright + # year, so output the dates and log messages of the last 3 + # commits, throw away all that mention both the words + # "update" and "copyright", and take the year of the first + # message that remains + # + # (it should be enough to look at the last 2 messages since + # ideally no two successive commits should have updated the + # copyright year. let's err on the safe side and take the last + # 3 commits.) + last_year=`git log -n 3 --date=short --format="format:%cd %s" $i | \ + egrep -i -v "update.*copyright|copyright.*update" | \ + head -n 1 | \ + perl -pi -e 's/^(\d\d\d\d)-.*/\1/g;'` # get the first year this file was modified from the actual # file. this may predate the git log if the file was copied -- 2.39.5