[Ksummit-discuss] [MAINTAINERS SUMMIT] Patch version changes in commit logs?

Greg KH greg at kroah.com
Wed Jul 3 07:51:51 UTC 2019


On Tue, Jul 02, 2019 at 04:41:35PM -0700, Kees Cook wrote:
> On Tue, Jul 02, 2019 at 07:18:58PM -0400, Theodore Ts'o wrote:
> > On Tue, Jul 02, 2019 at 04:04:31PM -0700, Kees Cook wrote:
> > > > Step 1)   git config am.messageid true
> > > 
> > > This is a lossy action: we don't know which list the ID came from (e.g.
> > > many things are sent to subsystem lists and not lkml).
> > 
> > Why do we need to care which list the ID came from?  Many messages are
> > cc'ed to multiple lists that are archived on lore.kernel.org.  And it
> > doesn't matter:
> > 
> > 	lore.kernel.org/r/<message-id>
> > 
> > ... will work without needing to know which list it was sent to.
> > 
> > > > Step 2)   Write and install a .git/hooks/applypatch-msg script which
> > > > 	  looks for Message-Id: and transmogrifies that line to a
> > > > 	  Link: trailer, using the lore.kernel.org URL template
> > > 
> > > I think the lorifier.py[1] mentioned earlier has 90% of the "step 2"
> > > logic, including caching the lore list mappings. Is there a "git am" hook
> > > we could build on instead? /me looks. Yes; seems to be "applypatch-msg"?
> > > Unclear if the email headers are included...
> > 
> > applypatch-msg is the git hoook I had suggested above.
> > 
> > The documentation states:
> > 
> >     This hook is invoked by git-am[1]. It takes a single parameter,
> >     the name of the file that holds the proposed commit log
> >     message. Exiting with a non-zero status causes git am to abort
> >     before applying the patch.
> > 
> >     The hook is allowed to edit the message file in place, and can be
> >     used to normalize the message into some project standard
> >     format. It can also be used to refuse the commit after inspecting
> >     the message file.
> > 
> > 
> > That to me says the e-mail headers have already been stripped.
> > Fortunately, using am.messageid=true should work since that is part of
> > the proposed commit message.
> 
> This works for me:
> 
> $ git config am.messageid true
> $ cat >.git/hooks/applypatch-msg <<'EOF'
> #!/bin/sh
> . git-sh-setup
> perl -pi -e 's|^Message-Id:\s*<?([^>]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1"
> test -x "$GIT_DIR/hooks/commit-msg" &&
> 	exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
> :
> EOF
> $ chmod a+x .git/hooks/applypatch-msg

I just tried this on my tree and it works great!

thanks for this, I'll start using it on my trees and it also forces me
to finally get the linux-usb tree into lore...

thanks,

greg k-h


More information about the Ksummit-discuss mailing list