From ea0a21410b8fa460882c0f8de90b9291345fd4fc Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 12 Dec 2011 20:28:58 +0100 Subject: [PATCH] gitlog-to-changelog: New option --tear-off. * scripts/gitlog-to-changelog: Add option --tear-off. * Makefile.am (gen-ChangeLog): Use that option. --- Makefile.am | 2 +- scripts/gitlog-to-changelog | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Makefile.am b/Makefile.am index 5f9bf2ebf..49ec3fc78 100644 --- a/Makefile.am +++ b/Makefile.am @@ -116,7 +116,7 @@ gen-ChangeLog: if test -d $(top_srcdir)/.git; then \ (cd $(top_srcdir) && \ ./scripts/gitlog-to-changelog \ - --append-dot \ + --append-dot --tear-off \ --amend=scripts/git-log-fix \ --since=$(gen_start_date) ) > $(distdir)/cl-t; \ cat $(top_srcdir)/scripts/git-log-footer >> $(distdir)/cl-t; \ diff --git a/scripts/gitlog-to-changelog b/scripts/gitlog-to-changelog index a7ea1948e..d9f594f86 100755 --- a/scripts/gitlog-to-changelog +++ b/scripts/gitlog-to-changelog @@ -64,6 +64,7 @@ OPTIONS: makes a change to SHA1's commit log text or metadata. --append-dot append a dot to the first line of each commit message if there is no other punctuation or blank at the end. + --tear-off tear off all commit log lines after a '--' line. --since=DATE convert only the logs since DATE; the default is to convert all log entries. --format=FMT set format string for commit subject and body; @@ -175,6 +176,7 @@ sub parse_amend_file($) my $format_string = '%s%n%b%n'; my $amend_file; my $append_dot = 0; + my $tear_off = 0; GetOptions ( help => sub { usage 0 }, @@ -183,6 +185,7 @@ sub parse_amend_file($) 'format=s' => \$format_string, 'amend=s' => \$amend_file, 'append-dot' => \$append_dot, + 'tear-off' => \$tear_off, ) or usage 1; @@ -282,13 +285,16 @@ sub parse_amend_file($) @line = grep !/^Co-authored-by: /, @line; # Remove everything after a line with 2 dashes at the beginning. - my @tmpline; - foreach (@line) - { - last if /^--\s*$/; - push @tmpline,$_; + if ($tear_off) + { + my @tmpline; + foreach (@line) + { + last if /^--\s*$/; + push @tmpline,$_; + } + @line = @tmpline; } - @line = @tmpline; # Remove leading and trailing blank lines. if (@line)