On Thu, 10 Jun 2021 at 15:56, Martin Sebor wrote: > > On 6/10/21 4:40 AM, Jonathan Wakely via Gcc wrote: > > On Thu, 10 Jun 2021 at 11:08, Jakub Jelinek <ja...@redhat.com> wrote: > >> > >> On Thu, Jun 10, 2021 at 11:01:49AM +0100, Jonathan Wakely via Gcc wrote: > >>> On 10/06/21 10:44 +0100, Jonathan Wakely wrote: > >>>>> Quite interesting idea! Are you willing to prepare a patch for it? > >>>> > >>>> This works. > >>> > >>> And this works better, because it checks the PR in the title matches > >>> one in the changelog. > >>> > >>> I'll get something added to the tests and prep this for commit. > >> > >> Note, some commits fix more than one PR. Sometimes the subject lists > >> just one of them and the ChangeLog several, at other times people mention > >> [PRnnnnnn, PRnnnnnn] etc. in the subject. > >> I think checking that at least one changeLog PR line matches at least one > >> PR > >> in the subject would be good enough. > >> > >> Your regex will not match [PR123456, PR123457] in subject, perhaps ok > > > > Yeah, that wouldn't get matched, so no checks would be done for the > > changelog body. Not ideal, but better than what we have no where > > nothing is checked at all. > > > >> initially, and if I read it will will be happy if at least one line matches > >> it. > > > > Yes, if the summary line has a single PR number, it must be present in > > the changelog body. Other PR numbers can also be in the body, and they > > aren't checked. > > > > But I've hit an issue trying to test it, because the testcases in > > contrib/gcc-changelog/test_patches.txt are in the form of emails, and > > the Subject: line from the emails is not passed to the GitInfo > > constructor, so isn't part of the message that gets checked. > > > > Martin, Shouldn't the GitEmail class extract the Subject: from the > > email header and use that as the first line passed to the GitInfo > > object? > > > > I'm a little lost as to what's being changed,
Nothing is being changed. If your patch is related to a bug, you're supposed to say so: https://gcc.gnu.org/codingconventions.html#ChangeLogs And you're also supposed to put a [PRnnnn] tag in the email subject line (which best practices say should also be the Subject: of the email you send to gcc-patches): https://gcc.gnu.org/contribute.html#patches The patches being proposed verify that if you put [PRnnnn] at the end of the subject line, that you also put "PR component/nnnn" in the changelog part. Because if you didn't, something is wrong and you're failing to follow the existing policy (why would you put a [PRnnnn] tag in the subject if it's not related to that PR, and if it is related, why are you not putting it in the changelog part?) > and, truth be told, > what exactly the current "right" format is. Where are the PRnnnnn > strings recognized as special? > > The ChangeLog description doesn't seem to cover this and I've been > assuming they're recognized anywhere in the ChangeLog message, but > I think I also noticed they don't always end up updating all > the bugs. There are various reasons for that, including that non-ASCII characters tend to break the automation. But in general, if you follow the policy of mentioning "PR component/nnnn" in the changelog, your git commit should add a comment to the mentioned bugzilla PRs. Within a bugzilla comment, any string mentioning "PR nnnn" or "Bug nnnn" (and variations on those) will get dynamically turned into a link to that bug, but I think that happens on the fly when rendering the HTML, and it's separate from the automation that adds git commits to bugzilla as comments. I think the automation to add commits to bugzilla uses a much stricter pattern to recognise a PR mentioned in the commit. > > FWIW, in commits for multiple PRs I've been adding a Resolves > line like this: > https://gcc.gnu.org/pipermail/gcc-cvs/2021-May/347414.html > > I usually also add the PR numbers under each ChangeLog but I'm not > sure it's necessary. It would be good to know and for the ChangeLog > convention to document how exactly this works, and if something > changes, to update the documentation. It already says you should put it in the changelog. For each changelog piece you add it to, it will be added to that relevant ChangeLog file. It probably makes sense to add it to all of them, unless some piece of the commit really isn't relevant to that PR (but then it should probably be a separate commit!) You can also put it once, before all the changelog entries e.g. https://gcc.gnu.org/g:91349e57bbfd010156b9128b2ad751c8843e7245 which got added to two ChangeLog files by the daily bump script: https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=gcc/cp/ChangeLog;h=5a97fc84264e85b60adfdc50187ce7faeeb6f86f;hp=225b891700e88a58639d7ea0f10ad76ffb8d87f4;hb=c60387214593445d1514bf7852f27f4523458cda;hpb=25e5ecdf82b49977e86bfaded236fb34af2705ed https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=gcc/testsuite/ChangeLog;h=9e31d686e1cb3b63b2141f86e5394aa1794ecdf5;hp=640fcbed0ebb9ed5e0b0ab12c52e1950284f9ee9;hb=4f625f47b4456e5c05a025fca4d072831e59126c;hpb=53cb324cb4f9475d4eabcd9f5a858c5edaacc0cf I do want to improve the https://gcc.gnu.org/contribute.html#patches and https://gcc.gnu.org/codingconventions.html#ChangeLogs docs though. We shouldn't have the info split in two places, and we should update the recommendations to reflect current practices.