Minor improvement in gitlog-to-changelog
authorSergey Poznyakoff <gray@gnu.org.ua>
Wed, 12 Aug 2009 16:48:51 +0000 (19:48 +0300)
committerSergey Poznyakoff <gray@gnu.org.ua>
Wed, 12 Aug 2009 16:49:49 +0000 (19:49 +0300)
* build-aux/gitlog-to-changelog: New option `--format' makes
output format string configurable.

build-aux/gitlog-to-changelog

index 1cc53eb..a0f8a08 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # Convert git log output to ChangeLog format.
 
-my $VERSION = '2009-06-04 08:53'; # UTC
+my $VERSION = '2009-08-12 16:49'; # 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
@@ -60,6 +60,9 @@ OPTIONS:
 
    --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;
+                  see 'man git-log' for the list of format metacharacters;
+                  the default is '%s%n%b%n'
 
    --help       display this help and exit
    --version    output version information and exit
@@ -96,15 +99,17 @@ sub quoted_cmd(@)
 
 {
   my $since_date = '1970-01-01 UTC';
+  my $format_string = '%s%n%b%n';
   GetOptions
     (
      help => sub { usage 0 },
      version => sub { print "$ME version $VERSION\n"; exit },
      'since=s' => \$since_date,
+     'format=s' => \$format_string,
     ) or usage 1;
 
   my @cmd = (qw (git log --log-size), "--since=$since_date",
-             '--pretty=format:%ct  %an  <%ae>%n%n%s%n%b%n', @ARGV);
+             '--pretty=format:%ct  %an  <%ae>%n%n'.$format_string, @ARGV);
   open PIPE, '-|', @cmd
     or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n"
             . "(Is your Git too old?  Version 1.5.1 or later is required.)\n");