aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-11-01 13:58:27 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-11-08 14:51:42 +0100
commit1f73138ce1272ea52c9b0119f5ef67aed28af836 (patch)
treed2730e72fdcef253fbf02dd1220a88b02a63d50b
parent0bc60d91de0eda5d1c7ec8033a75980f81a33a59 (diff)
checksrc: repair the copyrightyear check
- Consider a modified file to be committed this year. - Make the travis CHECKSRC also do COPYRIGHTYEAR scan in examples and includes - Ignore 0 parents when getting latest commit date of file. since in the CI we're dealing with a truncated repo of last 50 commits, the file's most recent commit may not be available. when this happens git log and rev-list show the initial commit (ie first commit not to be truncated) but that's incorrect so ignore it. Ref: https://github.com/curl/curl/pull/4547 Closes https://github.com/curl/curl/pull/4549 Co-authored-by: Jay Satiro
-rw-r--r--.travis.yml2
-rwxr-xr-xlib/checksrc.pl13
2 files changed, 11 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index 3c4fb43e5..73ac0fb01 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -609,6 +609,8 @@ script:
make test-nonflaky
fi
if [ -n $CHECKSRC ]; then
+ echo "enable COPYRIGHTYEAR" > ./docs/examples/.checksrc
+ echo "enable COPYRIGHTYEAR" > ./include/curl/.checksrc
make checksrc
fi
fi
diff --git a/lib/checksrc.pl b/lib/checksrc.pl
index b2cfa8355..834364561 100755
--- a/lib/checksrc.pl
+++ b/lib/checksrc.pl
@@ -6,7 +6,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 2011 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 2011 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -717,12 +717,17 @@ sub scanfile {
my $commityear = undef;
@copyright = sort {$$b{year} cmp $$a{year}} @copyright;
+ # if the file is modified, assume commit year this year
if(`git status -s -- $file` =~ /^ [MARCU]/) {
$commityear = (localtime(time))[5] + 1900;
}
- elsif (`git rev-list --count origin/master..HEAD -- $file` !~ /^0/) {
- my $grl = `git rev-list --max-count=1 --timestamp HEAD -- $file`;
- $commityear = (localtime((split(/ /, $grl))[0]))[5] + 1900;
+ else {
+ # min-parents=1 to ignore wrong initial commit in truncated repos
+ my $grl = `git rev-list --max-count=1 --min-parents=1 --timestamp HEAD -- $file`;
+ if($grl) {
+ chomp $grl;
+ $commityear = (localtime((split(/ /, $grl))[0]))[5] + 1900;
+ }
}
if(defined($commityear) && scalar(@copyright) &&