This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author zach.ware
Recipients brett.cannon, ezio.melotti, georg.brandl, lemburg, ncoghlan, orsenthil, pitrou, r.david.murray, sbt, terry.reedy, tshepang, zach.ware
Date 2013-11-21.22:33:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Here's my half-baked idea on the topic, based largely on what I could learn of Twisted's method from looking through their source repo online.  I liked their use of separate files for each NEWS entry, especially since it should make merge conflicts exceedingly rare.

Basically, the plan is to add a couple of scripts to Tools/scripts named and

Spec outline for
- four possible usages:
    - interactive
        - ask for each necessary datum
            - issue number(s), section(s), message

    - single command
        - command line switches for section and issue number, remaining
          arguments constitute message

    - blend
        - ask about anything not given in the single command, unless told
          not to with -f/--force (and then use defaults)

    - invoke editor
        - mirror hg's handling of `hg commit` without -m or -l, open an editor
          and use the saved file

- output a text file named "issue<number>.<count>.news" or
  "<current hg rev>+<something random>.news" (default in case of no issue
  number) containing the message into the appropriate folder(s)
  (e.g. Misc/

- print the contents of the written file to stdout
    - allows ` --section build --issue 12345 "Fix building" | hg com -l -`

- print the output file's name to stderr
    - to make it easy to use `hg com -l Misc/<filename>.news`
      and not interfere with the above

- `hg add` the output file

This would necessitate a bit of new structure in the repo, namely a Misc/ dir, containing directories for each section (Core & Builtins, Library, etc.), which should also have a '' file to make each dir non-empty and for use with  This second script would be used at release time, and would simply walk the Misc/ dirs, building Misc/NEWS from the individual files and deleting them as it goes.

Beyond this basic functionality, there are other possible extensions, such as gathering any information about the current change that is readily available and saving it in either comments at the tail end of the generated .news file, or in a separate .data file with the same base name, which could then use for alternate NEWS formats (such as suitable output for Doc/whatsnew/changelog.rst with links to anything relevant).

To make the usage more convenient, both scripts could be added to Makefile, a la `make patchcheck`.  For Windows committers, there can either be a convenience batch file just for, or I still hope to eventually get configure.bat/make.bat into a committable state.

If anyone thinks this half-baked idea looks like it might be edible when it's done, I'd be happy to cobble together and in a sandbox repo.
Date User Action Args
2013-11-21 22:33:01zach.waresetrecipients: + zach.ware, lemburg, brett.cannon, georg.brandl, terry.reedy, ncoghlan, orsenthil, pitrou, ezio.melotti, r.david.murray, tshepang, sbt
2013-11-21 22:33:01zach.waresetmessageid: <>
2013-11-21 22:33:01zach.warelinkissue18967 messages
2013-11-21 22:33:01zach.warecreate