# HG changeset patch # User Joel E. Denny # Date 1250269974 14400 # Node ID 6f88af728ad10dff3b8530eee8e1c436e7c36a32 # Parent ff3dd373542b62820efaae40f98913bdfc80c252 update-copyright: implement forced reformatting * build-aux/update-copyright: Implement and document UPDATE_COPYRIGHT_FORCE. * tests/test-update-copyright.sh: Test it. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-08-14 Joel E. Denny + + update-copyright: implement forced reformatting + * build-aux/update-copyright: Implement and document + UPDATE_COPYRIGHT_FORCE. + * tests/test-update-copyright.sh: Test it. + 2009-08-14 Eric Blake and Bruno Haible diff --git a/build-aux/update-copyright b/build-aux/update-copyright --- a/build-aux/update-copyright +++ b/build-aux/update-copyright @@ -1,7 +1,7 @@ #!/usr/bin/perl -0777 -pi # Update an FSF copyright year list to include the current year. -my $VERSION = '2009-08-14.05:03'; # UTC +my $VERSION = '2009-08-14.18:56'; # UTC # Copyright (C) 2009 Free Software Foundation, Inc. # @@ -25,12 +25,17 @@ # use the update-copyright target rule in maint.mk from gnulib's # maintainer-makefile module. # -# Iff an FSF copyright statement is discovered in a file and the final +# Iff an FSF copyright statement is recognized in a file and the final # year is not the current year, then the statement is updated for the -# new year, 2-digit years are converted to 4-digit years by prepending -# "19", and the statement is reformatted to fit within 72 columns. A -# warning is printed for every file for which no FSF copyright statement -# is discovered. +# new year and it is reformatted to: +# +# 1. Fit within 72 columns. +# 2. Convert 2-digit years to 4-digit years by prepending "19". +# 3. Expand copyright year intervals. (See "Environment variables" +# below.) +# +# A warning is printed for every file for which no FSF copyright +# statement is recognized. # # Each file's FSF copyright statement must be formated correctly in # order to be recognized. For example, each of these is fine: @@ -91,16 +96,21 @@ # 6. Blank lines, even if preceded by the prefix, do not appear # within the FSF copyright statement. # 7. Each copyright year is 2 or 4 digits, and years are separated by -# commas or dashes. Whitespace may occur after commas. +# commas or dashes. Whitespace may appear after commas. # # Environment variables: # -# 1. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive -# copyright years (such as 90, 1991, 1992-2007, 2008) in an updated -# FSF copyright statement is collapsed to a single interval (such -# as 1990-2008). If unset or set to 0, all existing copyright year -# intervals are expanded. -# 2. For testing purposes, you can set the assumed current year in +# 1. If UPDATE_COPYRIGHT_FORCE=1, a recognized FSF copyright statement +# is reformatted even if it does not need updating for the new +# year. If unset or set to 0, only updated FSF copyright +# statements are reformatted. +# 2. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive +# copyright years (such as 90, 1991, 1992-2007, 2008) in a +# reformatted FSF copyright statement is collapsed to a single +# interval (such as 1990-2008). If unset or set to 0, all existing +# copyright year intervals in a reformatted FSF copyright statement +# are expanded instead. +# 3. For testing purposes, you can set the assumed current year in # UPDATE_COPYRIGHT_YEAR. use strict; @@ -172,7 +182,9 @@ { # Update the year. $stmt =~ s/$final_year_orig/$final_year, $this_year/; - + } + if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) + { # Normalize all whitespace including newline-prefix sequences. $stmt =~ s/$ws_re/ /g; diff --git a/tests/test-update-copyright.sh b/tests/test-update-copyright.sh --- a/tests/test-update-copyright.sh +++ b/tests/test-update-copyright.sh @@ -145,7 +145,7 @@ # Copyright (C) 1990-2005, 2007-2010 Free Software Foundation, Inc. EOF -UPDATE_COPYRIGHT_YEAR=2011 \ +UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_FORCE=1 \ update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr <