linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcus Alanen <marcus@infa.abo.fi>
To: riel@conectiva.com.br, Johnny Mnemonic <johnny@themnemonic.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Changelogs on kernel.org
Date: Mon, 13 May 2002 14:52:40 +0300	[thread overview]
Message-ID: <200205131152.OAA05817@infa.abo.fi> (raw)
In-Reply-To: <Pine.LNX.4.44L.0205122146310.32261-100000@imladris.surriel.com>

>>  - changedescription                         (author)
>So, is there anybody willing to put together the scripts to
>generate this changelog format automatically ?

Combining the efforts, the following almost makes coffee.

- Short mode
- Full mode
- Original mode

The original mode you requested prints the e-mail address, I guess
it should be the author's real name to look more nice.


#!/usr/bin/perl -w

use strict;


# 0 for short, 1 for full, 2 for "original changelog"
my $mode = 2;



# minimum space between entry and author for the original mode
my $space = 5;


my %people = ();
my $addr = "";
my @cur = ();
my $comment = 0;


sub append_item() {
        if (!$addr) {
                return;
        }
        if (!$people{$addr}) {
                @{$people{$addr}} = ();
        }
        push @{$people{$addr}}, [@cur];

        @cur = ();
}

while (<>) {
        # Match address
        if (/^\s*<([^>]+)>/) {
                # Add old item (if any) before beginning new
                append_item();
                $addr = $1;
                $comment = 1;
        } elsif ($addr) {
                # Add line to patch
                s/^\s*(.*)\s*$/$1/;
                $_ =~ s/\[PATCH\] //g;
                $_ =~ s/\s*PATCH //g;
                if ($comment == 1 or $mode != 0) {
                        push @cur, "$_\n";
                        $comment = 0;
                }
        } else {
                # Header information
                print;
        }
}
append_item();


sub print_items($) {
        my $person = $_[0];
        my @items = @{$people{$person}};
        # Vain attempt to sort patches from one address
        @items = sort @items;
	if ($mode == 0 or $mode == 1) {
                print "<$person>\n";
	} else {
	        $person = "($person)";
	}
        while ($_ = shift @items) {
	        if ($mode == 0) {
		        print "\to " . @$_[0];
	        } elsif ($mode == 1) {
		        print "\t------------------------------------------------------------\n";
                        foreach $_ (@$_) {
			        print "\t$_";
			}
		} elsif ($mode == 2) {
		        $_ = @$_[0];
			chop;
			$_ = "- $_";
			# Split it onto two lines if necessary
		        if (length("$_ . $person") > 76 - $space) {
			        print ("$_\n" . " " x (76-length($person)) . "$person\n");
			} else {
			        print ("$_" . " " x (76-length($person)-length($_)) . "$person\n");
			}
		}
        }
}

# Print the information
foreach $addr (sort keys %people) {
        print_items($addr);
        if ($mode != 2) { print "\n"; }
}



-- 
Marcus Alanen
maalanen@abo.fi

  reply	other threads:[~2002-05-13 11:53 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-12  0:07 Changelogs on kernel.org Ian Molton
2002-05-12  0:48 ` Diego Calleja
2002-05-12  1:09 ` john slee
2002-05-12  1:14   ` john slee
2002-05-12  5:05   ` Brian C. Huffman
2002-05-12 10:05     ` Johnny Mnemonic
2002-05-13  0:46       ` Rik van Riel
2002-05-13 11:52         ` Marcus Alanen [this message]
2002-05-13 12:09           ` Tomas Szepe
2002-05-13 13:08             ` Marcus Alanen
2002-05-13 14:08               ` Tomas Szepe
2002-05-13 14:45                 ` Tomas Szepe
2002-05-13 14:06                   ` Greg KH
2002-05-13 15:11                     ` Tomas Szepe
2002-05-13 14:51                       ` Greg KH
2002-05-13 15:58                         ` Matthias Andree
2002-05-13 16:01                         ` Freeze on 2.4.18 Pol
2002-05-13 15:21                     ` Changelogs on kernel.org Matthias Andree
2002-05-13 22:05                   ` Robinson Maureira Castillo
2002-05-13 23:41                     ` Tomas Szepe
2002-05-14  8:44                       ` Matthias Andree
2002-05-14  8:43                     ` Matthias Andree
2002-05-14  9:23                       ` Tomas Szepe
2002-05-13 11:58         ` Tomas Szepe
2002-05-13 12:39           ` Dave Gilbert (Home)
2002-05-13 13:01             ` Russell King
2002-05-13 13:27               ` Tomas Szepe
2002-05-13 13:42                 ` Russell King
2002-05-13 15:12                 ` Larry McVoy
2002-05-13 15:29                   ` Tomas Szepe
2002-05-13 15:37                     ` Larry McVoy
2002-05-12  9:14   ` Trever L. Adams
2002-05-12 20:06 ` Linus Torvalds
2002-05-12 20:20   ` Jeff Garzik
2002-05-12 20:31   ` Dr. David Alan Gilbert
2002-05-12 20:41     ` Arnaldo Carvalho de Melo
2002-05-13 20:57       ` Linus Torvalds
2002-05-14  0:29         ` Arnaldo Carvalho de Melo
2002-05-13  1:56     ` Linus Torvalds
2002-05-13  9:31       ` Matthias Andree
2002-05-13  8:52         ` Greg KH
2002-05-13 10:41           ` Matthias Andree
2002-05-13 10:12       ` Tomas Szepe
2002-05-13 10:17         ` Tomas Szepe
2002-05-13 13:00         ` Ian Molton
2002-05-12 20:31   ` Matthew D. Pitts
2002-05-12 20:35   ` Anton Altaparmakov
2002-05-12 21:04   ` HPFS and linux-2.4.18 Wojciech "Sas" Cieciwa
2002-05-12 21:17   ` Changelogs on kernel.org Florian Weimer
2002-05-12 21:42     ` Marcus Alanen
2002-05-12 22:12       ` Tomas Szepe
2002-05-13 10:32         ` Helge Hafting
2002-05-13  7:34       ` Kristian Peters
2002-05-12 21:51     ` Ian Molton
2002-05-12 21:47       ` Florian Weimer
2002-05-12 23:50         ` Sven.Riedel
2002-05-13  2:01     ` Linus Torvalds
2002-05-13  5:10       ` Jeff Garzik
2002-05-13  5:17         ` Larry McVoy
2002-05-13 10:37         ` Helge Hafting
2002-05-13 19:00           ` Jeff Garzik
2002-05-13  8:57   ` jw schultz
2002-05-13  8:06     ` Greg KH
     [not found] <30386.1021456050@redhat.com>
2002-05-15 16:39 ` Linus Torvalds
2002-05-15 18:07   ` David Woodhouse
2002-05-15 19:20   ` Larry McVoy
2002-05-15 20:03     ` David Woodhouse
2002-05-15 20:08       ` Larry McVoy
2002-05-15 20:15         ` David Woodhouse
2002-05-15 20:34           ` Larry McVoy
2002-05-15 21:03           ` Kenneth Johansson
2002-05-15 22:30             ` Larry McVoy
2002-05-15 22:56               ` Kai Germaschewski
2002-05-15 22:59                 ` Larry McVoy
2002-05-16  2:26                   ` Horst von Brand
2002-05-16  7:02           ` Rusty Russell
2002-05-15 21:38 James Bottomley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200205131152.OAA05817@infa.abo.fi \
    --to=marcus@infa.abo.fi \
    --cc=johnny@themnemonic.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@conectiva.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).