alias gitdifflogmesg="perl -ne 'BEGIN {print \"[[[\";} /^\\+\\+\\+ b\\/(\\S+)/ && print \"\\n\\n* \$1\"; /^@\@.*[ *]([^ ]+)\(/ && print \"\\n (\$1).\"; END { print \"\\n\\n]]]\\n\";}'"
cat your.patch | gitdifflogmesg
The output is something like this:
* path/to/modifed-file1.c
(some_function_a).
(some_function_b).
* path/to/modifed-file2.c
(some_function_c).
(some_function_d).
Now all you need to do is some accounting -- a good 50 char intro line and say what you did with all those functions and your log message is ready for sharing. Of course not all log messages need this level of scrutiny, but, this goes a long way towards helping your reviewers and also, to help yourself to produce a great patch (or mailing list post).
Note that this does not pick up everything --- new #includes and new functions for example. Then again, whilst that one liner is kinda cute, this service should really be offered by git itself. But whilst git doesn't have this feature, this goes a long way towards making log messages easy ;-)
I am not a perl wizard though, I just read the book 'Perl One-Liners: 130 Programs That Get Things Done' -- even if you only read the first 3 chapters, you gain a handy little skill, plus, it's just fun to fiddle with.