emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 314244a: Add option to ignore commit lines matching


From: Glenn Morris
Subject: [Emacs-diffs] master 314244a: Add option to ignore commit lines matching a pattern in ChangeLog.
Date: Tue, 19 May 2015 01:41:08 +0000

branch: master
commit 314244aac44525a32dc9ea0a3ec94f77f055d332
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    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.
---
 CONTRIBUTE                    |    3 +++
 build-aux/gitlog-to-changelog |   11 ++++++++++-
 build-aux/gitlog-to-emacslog  |    2 +-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/CONTRIBUTE b/CONTRIBUTE
index bf23155..526d8da 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -96,6 +96,9 @@ messages:
 - Commit messages should not contain the "Signed-off-by:" lines that
   are used in some other projects.
 
+- Any lines of the the commit message that start with "; " are omitted
+  from the generated ChangeLog.
+
 - Explaining the rationale for a design choice is best done in comments
   in the source code.  However, sometimes it is useful to describe just
   the rationale for a change; that can be done in the commit message
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index ad7c273..9abb693 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 aa42060..d1b1af9 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]