diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-11-01 13:58:27 +0100 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2019-11-08 02:31:11 -0500 |
commit | 2762efd2575fd2a6aba327d3e5ad39e05a2ed37c (patch) | |
tree | ed850d02bdd3eca84607450fe025e1f24cd69edf /lib/checksrc.pl | |
parent | 233f04b59a310672e600b7b2c2ca637541e4e364 (diff) | |
download | curl-2762efd2575fd2a6aba327d3e5ad39e05a2ed37c.tar.gz |
checksrc: repair the copyrightyear checkbagder/checksrc-copyrightyear
- Consider a modified file to be committed this year.
- Make the travis CHECKSRC also do COPYRIGHTYEAR scan.
- 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
Diffstat (limited to 'lib/checksrc.pl')
-rwxr-xr-x | lib/checksrc.pl | 13 |
1 files changed, 9 insertions, 4 deletions
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) && |