# HG changeset patch # User Jim Meyering # Date 1244106395 -7200 # Node ID 6855551f304d3fef1cd0a9c7b28fb8c02c86fc13 # Parent 95f56b9a59778b0c04cc2225c62259ea8b623886 gitlog-to-changelog: don't infloop on an empty commit log * build-aux/gitlog-to-changelog: Warn about an empty log message. Reported by Boris Petersen . diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-06-04 Jim Meyering + + gitlog-to-changelog: don't infloop on an empty commit log + * build-aux/gitlog-to-changelog: Warn about an empty log message. + Reported by Boris Petersen . + 2009-06-03 Mike Frysinger version-etc: extend for packagers diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog @@ -1,13 +1,13 @@ #!/usr/bin/perl # Convert git log output to ChangeLog format. -my $VERSION = '2008-12-21 12:07'; # UTC +my $VERSION = '2009-06-04 08:53'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2008 Free Software Foundation, Inc. +# Copyright (C) 2008, 2009 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -145,14 +145,22 @@ # Omit "Signed-off-by..." lines. @line = grep !/^Signed-off-by: .*>$/, @line; - # Remove leading and trailing blank lines. - while ($line[0] =~ /^\s*$/) { shift @line; } - while ($line[$#line] =~ /^\s*$/) { pop @line; } + # If there were any lines + if (@line == 0) + { + warn "$ME: warning: empty commit message:\n $date_line\n"; + } + else + { + # Remove leading and trailing blank lines. + while ($line[0] =~ /^\s*$/) { shift @line; } + while ($line[$#line] =~ /^\s*$/) { pop @line; } - # Prefix each non-empty line with a TAB. - @line = map { length $_ ? "\t$_" : '' } @line; + # Prefix each non-empty line with a TAB. + @line = map { length $_ ? "\t$_" : '' } @line; - print "\n", join ("\n", @line), "\n"; + print "\n", join ("\n", @line), "\n"; + } defined ($in = ) or last;