On 6/12/2020 9:31 PM, Ivan Pozdeev via Python-Dev wrote:
On 13.06.2020 3:49, Łukasz Langa wrote:

On 12 Jun 2020, at 19:51, Ivan Pozdeev via Python-Dev <python-dev@python.org <mailto:python-dev@python.org>> wrote:

I would doubt the quality of tags maintenance at Github, too. E.g.https://github.com/python/cpython/pull/12131is labeled 3.7 and 3.8 at BPO but has no backport tags whatsoever at GH.
So the search you gave is clearly insufficient.

What matters for GH PRs are the backport tags when merged or added thereafter. The problem when adding them when the PR is created is that they may become obsolete. A newer tag may be missing an old tag may become wrong.

Tags maintenance isn't about quality but rather about automation. Things without backport tags won't get backported unless somebody does it by hand. And even automatically created backports need to be created off of committed pull requests and need to pass tests to be mergeable. Given the limited time until the Monday cutoff, I'd say that almost all of your 700+ BPO open issues that list 3.7 as affected will miss the boat on the fixes.

Except they are not "mine" but everyone's.

It is the responsibility of core devs, not release managers, to get patches merged when possible. Release managers can help with reminders and occasional nagging for really important things.

I'll have some downtime next week so I could look into adding stuff to automatically update labels on existing issues and PRs upon release of a new major version to, say, bedevere. The lack of this is the reason for the discrepancy.

There are two things that should and could be done with PRs.

1 (very important - should). When master is bumped from x.y to x.(y+1) and a [Backport to x.y] label is added (currrently at x.y.0b1), add the new label to all PRs *with* [Backport to x.(y-1)]. The latter marks it as a bugfix. Accidentally leaving a bugfix backported to x.(y-1) out of x.y is definitely bad.

2 (less important - could). When x.y is retired to security status, remove [Backport to x.y] *unless* it already has [Backport to x.(y-1)]. The latter marks it as a security issue. I call this less important because, I believe, the label will not be honored unless the merger is the corresponding release manager.

I am a bit less enthusiastic about auto-updating bpo 'versions'. When I read New's reminder, I reviewed the 11 remaining open issues tagged 3.5 and closed 5 while tagging the other 6 for 3.10 (which won't immediately become obsolete). I have so far closed nearly 15 of 60 of the remaining issues tagged 3.6. I might not have done the same if they had been auto updated, though looking at the least recently touched issues would have done about as well.

All this said, I would like to reconsider *routine* use of version tags. Perhaps 99% of PRs are applied to either master only or master + maintenance, as least if convenient. On the tracker, 'enhancement' means 'apply only to master', not any specific x.y. Similarly, 'behavior' means 'apply to master and backport (if possible or convenient)', not any specific list of versions. The version list is usually redundant and subject to obsolescence. Also, setting version markers should be restricted to triagers and coredevs.

--
Terry Jan Reedy

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FLHBVCOVNVJXBXFINLHUWDTFQ5YNFI4M/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to