Re: [Ksummit-discuss] Allowing something Change-Id (or something like it) in kernel commits

Christian Brauner <[email protected]>
Newsgroups org.linuxfoundation.lists.ksummit-discuss,dev.linux.lists.ksummit
Message-ID <20190916141124.e7s3bjr4sp3bmtbp@wittgenstein>
On Mon, Aug 26, 2019 at 04:11:12PM -0700, Doug Anderson wrote:
> Hi,
> 
> On Mon, Aug 26, 2019 at 4:02 PM Theodore Y. Ts'o <[email protected]> wrote:
> >
> > On Mon, Aug 26, 2019 at 02:35:33PM -0700, Doug Anderson wrote:
> > > * This requires extra tooling that I think nobody will adopt.  People
> > > today already (accidentally) adopt Change-Id in the non-discardable
> > > portion.  I think it would be easier to get everyone currently
> > > removing Change-Id to start including it again than it will be to get
> > > everyone to change their tools to move it to the discardable portion.
> >
> > The reason why people Change-Id's exist in commits today is because of
> > tooling which is distributed as part of Gerrit.  That's why people are
> > deeply suspicious of any solution that involves Change-Id in the
> > non-discarded portion --- because the majority of Gerrit servers up
> > until now are behind corporate firewalls and since Gerrit servers have
> > robots.txt files, most Change-Id tend to be useless.
> >
> > If we come up with new tooling which is more useful, people will use
> > it.  If it's not useful and doesn't makes life easier, people won't.
> 
> Unfortunately the tooling won't come up until Change-Id is there and
> Change-Id can't be there till the tooling is there.  ;-)
> 
> 
> > On Mon, Aug 26, 2019 at 03:06:43PM -0700, Doug Anderson wrote:
> > > 2. If, as I expect, Change-Id as part of the patch stays NAKed then I
> > > will modify the tools I use to post upstream (currently patman) to
> > > encode the Change-Id.  My naive proposal would be:
> > >
> > > Message-Id: ChangeId-YYYY-MMDD-HHMMSS-PatchNum
> > >
> > > If I try this and it works for me then I will post out and suggest
> > > that any other like-minded people encode Change-Id into Message-Id in
> > > a similar way.
> >
> > ... and I would expect patches with this would get NACK'ed because
> > they would be just as useless as Change-Id's are perceived to be
> > today.  People who are gaming the rules will tend not to looked upon
> > favorably; the same will apply to their patches.
> 
> Sigh.  Email is so hard to communicate over.  I'm not intending to
> include the Message-Id in the commit.  I'm intending to use the
> Change-Id _in_ the Message-Id.  The Message-Id already has a bunch of
> random characters in it.  Why not make them useful for something?
> 
> 
> > BTW, the Message-Id you've listed above is not legal, per RFC-5322.  A
> > msg-id has to look like a e-mail address ([email protected]).
> > So something like this is legal as a message id:
> >
> > I3268f9036512c4378cde1da37e0612b43ed4d384@linux-review.googlesource.com
> 
> I think this is the same comment that Thomas Gleixner had.  I will
> certainly make sure my Message-Ids are formed correctly.  Thank you
> both for pointing this out to me.  Presumably I would have noticed it
> when actually trying to implement this but now I definitely will.
> 
> 
> > ... and indeed, that's more useful, because it tells us how to
> > interpret I3268f9036512c4378cde1da37e0612b43ed4d384 --- it's a
> > Change-Id assigned by the linux-review.googlesource.com Gerrit server.
> >
> > In contrast a bare "I3268f9036512c4378cde1da37e0612b43ed4d384" is
> > going to be presumed to be useless.  And in fact, a Google search for
> > this ID returns *nothing*.  Yet visiting the link
> > https://linux-review.googlesource.com/c/1158 actually returns
> > something useful.   That's why the latter is superior to the former.
> 
> Sure, except that in my case there is no gerrit server to provide a
> link to.  I use an upstream-first approach which means that all
> initial work is done with mailing lists.  There is no server to
> provide context to.  I think we are re-hashing old emails in this
> thread.
> 
> 
> > In summary,
> >
> > Not useful: (and will be probably nacked)
> >
> > Change-Id: I3268f9036512c4378cde1da37e0612b43ed4d384
> > Message-Id: I3268f9036512c4378cde1da37e0612b43ed4d384
> >
> > Useful:
> >
> > Link: https://linux-review.googlesource.com/c/1158
> > Link: https://lkml.kernel.org/r/[email protected]
> >
> > Not as useful: (people will prefer the Link example above)
> >
> > Message-Id: [email protected]
> 
> Presumably all the above is because you thought I was including the
> Message-Id in the commit.  I'm not.  Locally I will have Change-Id in
> my commit.  The scripts I use to post to the mailing lists will strip
> the Change-Id out and use it to make the actual Message-Id.  I will

Hm, I've spoken in favour of the Link: approach for upstream purposes.
But I do see the point in making it possible for people to somehow have
a workflow involving change-ids that does not interfer with regular
upstream expectations, i.e. no Change-Ids in commit messages.

One thing that came up was to place stuff like Change-Id after the ---
which git format-patch would leave out. This still has the problem
though that a git merge will keep the stuff after the --- and so a git
tag followed by a git request-pull would have the stuff in there as well
afaict. So I wonder if you couldn't simply enable Gerrit to look for
stuff like Change-Ids in git notes. They wouldn't show up on merges and
pulls afaict...

Christian
_______________________________________________
Ksummit-discuss mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.