Kernel.org Changelog

The good old Changelog of the Linux-Kernel is quite a monster to read and I cannot imagine that you’d like to read it commit by commit for just maintaining your kernel builds in case of getting a rough idea what happened during the last release. So why not making things a little more short and sweet instead? Let’s have a look at the first commits:

commit adfb98cd3e937104d58ec60fec2e4f565a31c89d
Author: Greg Kroah-Hartman
Date: Wed Mar 15 10:23:00 2017 +0800

Linux 4.10.3

commit 070dfed4d04ef6c18f07a2d147c1be74c8c84f5b
Author: K. Y. Srinivasan
Date: Wed Feb 8 18:30:56 2017 -0700

drivers: hv: Turn off write permission on the hypercall page

commit 372b1e91343e657a7cc5e2e2bcecd5140ac28119 upstream.

The hypercall page only needs to be executable but currently it is setup to
be writable as well. Fix the issue.

Signed-off-by: K. Y. Srinivasan
Acked-by: Kees Cook
Reported-by: Stephen Hemminger
Tested-by: Stephen Hemminger
Signed-off-by: Greg Kroah-Hartman

Just by looking at those two commits you might notice a ton of metadata sitting here which we actually don’t need. Thanks to git you might also notice the structure being the same on all messages. Getting that thing on a console we just need to look for the word “commit” and some lines around it to cut things into shape – and it happens that we have just the right tools for doing so: grep

wget --quiet https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.10.3 -O - | grep -A 4 ^commit

This command delivers us four lines after the word commit at the beginning of a line.

commit adfb98cd3e937104d58ec60fec2e4f565a31c89d
Author: Greg Kroah-Hartman
Date: Wed Mar 15 10:23:00 2017 +0800

Linux 4.10.3

commit 070dfed4d04ef6c18f07a2d147c1be74c8c84f5b
Author: K. Y. Srinivasan
Date: Wed Feb 8 18:30:56 2017 -0700

drivers: hv: Turn off write permission on the hypercall page

That’s pretty short already but still not as readable as we want it to be. So let’s focus on some other stuff to be thrown away: the ‘–‘ lines at the end of the commit are looking like they could use some trim: grep -B 1 "^--" does that for us:

Linux 4.10.3


drivers: hv: Turn off write permission on the hypercall page

Now that looks good. Last thing to do is getting rid of those separators: grep -B 1 "^--"

Finally our command looks like that:
wget --quiet https://... -O - | grep -A 4 ^commit | grep -B 1 "^--" | grep -v "^--"

Using that command we are able to boil down 2126 lines of text to the essentials: 75 lines of text which are easy to read.

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.