summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2015-05-18 21:41:03 -0400
committerGlenn Morris <rgm@gnu.org>2015-05-18 21:41:03 -0400
commit314244aac44525a32dc9ea0a3ec94f77f055d332 (patch)
tree1322996d0f0469ece1fc81d09e714eb641a82a56 /build-aux
parent88e4dfaadb1daf6f1ce0e80442af5a2dae7853bc (diff)
Add option to ignore commit lines matching a pattern in ChangeLog.
* build-aux/gitlog-to-changelog: Add --ignore-line option. * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '. ; * CONTRIBUTE: Mention this.
Diffstat (limited to 'build-aux')
-rwxr-xr-xbuild-aux/gitlog-to-changelog11
-rwxr-xr-xbuild-aux/gitlog-to-emacslog2
2 files changed, 11 insertions, 2 deletions
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index ad7c2739cb..9abb693dab 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/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 = '2015-05-08 06:05'; # UTC
+my $VERSION = '2015-05-19 01:37'; # 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
@@ -74,6 +74,7 @@ OPTIONS:
the default is to convert all log entries.
--until=DATE convert only the logs older than DATE.
--ignore-matching=PAT ignore commit messages whose first lines match PAT.
+ --ignore-line=PAT ignore lines of commit messages that match PAT.
--format=FMT set format string for commit subject and body;
see 'man git-log' for the list of format metacharacters;
the default is '%s%n%b%n'
@@ -228,6 +229,7 @@ sub git_dir_option($)
my $append_dot = 0;
my $cluster = 1;
my $ignore_matching;
+ my $ignore_line;
my $strip_tab = 0;
my $strip_cherry_pick = 0;
my $srcdir;
@@ -242,6 +244,7 @@ sub git_dir_option($)
'append-dot' => \$append_dot,
'cluster!' => \$cluster,
'ignore-matching=s' => \$ignore_matching,
+ 'ignore-line=s' => \$ignore_line,
'strip-tab' => \$strip_tab,
'strip-cherry-pick' => \$strip_cherry_pick,
'srcdir=s' => \$srcdir,
@@ -349,6 +352,12 @@ sub git_dir_option($)
if (! (defined $ignore_matching
&& @line && $line[0] =~ /$ignore_matching/))
{
+ if (defined $ignore_line && @line)
+ {
+ @line = grep ! /$ignore_line/, @line;
+ while ($line[$#line] =~ /^\s*$/) { pop @line; }
+ }
+
# Record whether there are two or more paragraphs.
my $multi_paragraph = grep /^\s*$/, @line;
diff --git a/build-aux/gitlog-to-emacslog b/build-aux/gitlog-to-emacslog
index aa4206005c..d1b1af9b53 100755
--- a/build-aux/gitlog-to-emacslog
+++ b/build-aux/gitlog-to-emacslog
@@ -58,7 +58,7 @@ test -d .git || {
# Use Gnulib's packaged ChangeLog generator.
./build-aux/gitlog-to-changelog --ignore-matching='^; ' \
- --format='%B' \
+ --ignore-line='^; ' --format='%B' \
"$gen_origin.." >"ChangeLog.tmp" || exit
if test -s "ChangeLog.tmp"; then