From 7589e43b21c8d80c5a57ecb6eb78dfcd0b5dac46 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 20 Jan 2012 11:08:06 +0100 Subject: [PATCH] Do not copy default merge commit log entries into the ChangeLog. * scripts/gitlog-to-changelog: Skip merge commits. --- scripts/gitlog-to-changelog | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/gitlog-to-changelog b/scripts/gitlog-to-changelog index d9f594f86..66fb49fb1 100755 --- a/scripts/gitlog-to-changelog +++ b/scripts/gitlog-to-changelog @@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2011-11-02 07:53'; # UTC +my $VERSION = '2012-01-20 10:14'; # 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 @@ -204,6 +204,7 @@ sub parse_amend_file($) my $prev_date_line = ''; my @prev_coauthors = (); + while (1) { defined (my $in = ) @@ -217,6 +218,10 @@ sub parse_amend_file($) $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; + # Skip log entries with the default merge commit message. + $log =~ /^.*\n\nMerge branch '.*\n\s*/ + and goto SKIPCOMMIT; + # Extract leading hash. my ($sha, $rest) = split ':', $log, 2; defined $sha @@ -328,6 +333,7 @@ sub parse_amend_file($) print "\n", join ("\n", @line), "\n"; } + SKIPCOMMIT: defined ($in = ) or last; $in ne "\n"