[Python-Dev] New workflow change: Welcome to blurb (original) (raw)

Brett Cannon brett at python.org
Sat Jun 24 19:48:03 EDT 2017


On Sat, 24 Jun 2017 at 10:07 Antoine Pitrou <solipsis at pitrou.net> wrote:

Larry, I have just used blurb on https://github.com/python/cpython/pull/2010 and it was absolutely painless. Thank you! One minor thing: make patchcheck doesn't know to examine the NEWS.d directory when checking for NEWS entries.

I opened https://bugs.python.org/issue30750 for that if someone wants to make the change.

I should also mention that after Larry blows up Misc/NEWS into individual files in about a week I will add a check to Bedevere for a news file unless the PR is labeled as trivial.

-Brett

Regards Antoine.

On Fri, 23 Jun 2017 20:24:05 -0700 Larry Hastings <larry at hastings.org> wrote: > One minor but ongoing problem we've had in CPython core development has > been the mess of updating Misc/NEWS. Day-to-day developers may have a > conflict if they lose a push race, which means a little editing. You'll > have a similar, if slightly worse, problem when cherry-picking a fix > between versions. Worst of all used to be the manual merges necessary > after cutting a release--this was the bane of a CPython release > manager's existence. (Though the new git-based workflow may have > obviated the worst of this.) > > The real problem is that we have one central file that everybody > continually edits in a haphazard way. We aren't actually editing the > same information, we aren't actually changing the same lines. But our > revision control systems and diff algorithms don't understand the > structure of Misc/NEWS and so they get confused. And for what? It's not > like there's a tremendous benefit to having this central file everyone's > fighting over. > > We've been talking about addressing this for years. Fixing this was one > of the goals of the new workflow. And finally, as of right now, the > future is here. Ladies and gentlemen, I present: blurb. > > https://github.com/python/core-workflow/tree/master/blurb > > > blurb is an interactive command-line tool that helps you write Misc/NEWS > entries. You simply run blurb from anywhere inside a CPython repo. > blurb runs an editor for you with a template open. You fill in these > three pieces of information: > > * the bugs.python.org or "bpo" issue number, > * what "section" of Misc/NEWS this entry should go in (by uncommenting > the correct line), and > * the text of the Misc/NEWS entry, in ReST format. > > You save and exit and you're done. blurb even stages the Misc/NEWS > entry in git for you! > > > Behind the scenes, blurb writes your information here: > > Misc/NEWS.d/next// > > The "" is the name of the section in Misc/NEWS where your > entry should go. contains the current date and time, the bpo > number, and a nonce to prevent collisions. > > These "next" files get merged together into a single aggregate .rst file > by the release manager when cutting a release (using "blurb release"). > One nice feature of this approach: when you cherry-pick a change, its > Misc/NEWS entry in "next" gets cherry-picked along with it. > > > One important change: Misc/NEWS will no longer be checked in. It'll > still be present in CPython tarballs; it will be generated by the > release manager as part of cutting a release. But as a repository of > information, it's been superseded by the various blurb data files. And > by regenerating it from data files, we ensure that we'll never ever have > a Misc/NEWS conflict ever again! > > The plan is to leave Misc/NEWS in the CPython repo for maybe another > week, to let the current crop of PRs get merged. But new work should > switch to using blurb immediately. > > > You can install blurb from pip: > > % pip3.6 install blurb > > In fact--please do! > > > //arry/ >


Python-Dev mailing list Python-Dev at python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/brett%40python.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170624/2ad3613d/attachment.html>



More information about the Python-Dev mailing list