File: updatedates.sh

package info (click to toggle)
papilo 2.4.4%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,216 kB
  • sloc: cpp: 41,731; fortran: 4,032; f90: 3,203; python: 1,390; sh: 1,221; ansic: 986; xml: 276; makefile: 156
file content (43 lines) | stat: -rwxr-xr-x 1,477 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash
#
# This bash script updates all copyrights in files that are under version
# control (git) and have a ZIB copyright.
#
# You just have to run this script. There is nothing to adjust.
# The correct year is detected through the 'date' function
#
# Note that not all files (usually scripts) contain a copyright. A copyright is only
# needed for those files which are part of a SCIP distribution (see scripts/makedist.sh)
#
# USAGE: ./scripts/updatedates.sh

set -euo pipefail

NEWYEAR=`date +"%Y"`

echo "Updating copyright of all files under version control and list findings of possibly incorrect copyright string."

for f in `git ls-files` ; do

    # skip binary files
    grep -Iq . $f || continue

    # skip this file
    [[ $f =~ "updatedates.sh" ]] && continue

    # skip symbolic links
    if `test -L $f`; then
        echo "Skipping symbolic link $f"
        continue
    fi

    # process files with ZIB copyright string that do not include current year
    if grep -o 'Copyright (C) [0-9]*-[0-9]* Zuse Institute Berlin (ZIB)' $f | grep -vq $NEWYEAR ; then
        echo "Updating $f"
        sed -i "s/Copyright (C) \([0-9]*\)-[0-9]* Zuse Institute Berlin (ZIB)/Copyright (C) \1-$NEWYEAR Zuse Institute Berlin (ZIB)/g" $f
    fi

    # print matches for lines that have "Copyright" and "Zuse" but are not a valid ZIB copyright
    grep -iH "Copyright.*Zuse" $f | grep -v "Copyright (C) [0-9]*-$NEWYEAR Zuse Institute Berlin (ZIB)" || true

done