tgstation/-tg-station — pull request #4477 by N3X15 (2014-08-17 21:53:11+00:00)
Title: Added Changelog Management System.

A frequent problem on all SS13 codebases is keeping the changelog up to date, as the changelog is a horrible nightmare of bad HTML. On top of this, pull requests that modify the changelog often cause merge conflicts. For this reason, codebases without a strict update process don't bother updating the changelog.

To solve this, we at /vg/ propose this system, which decentralizes the changelog entries by developers into one changelog per developer (reducing the chance of a conflict), AND simplifies them into YAML, which is far simpler for git to handle.

Changelog *generation* is now performed centrally after a batch of PRs are pulled, and the system automatically generates HTML and timestamps everything. A central "database" also keeps track of all changes to prevent duplication and allow further updates to be added to the same date, without creating a mess. A templating system is also installed, to allow some customization of the output product without having to dig around in the python code.

* Port requested by Cheridan.
* Timestamp system has been updated to handle /tg/'s special snowflake timestamp format.
* I've also had to fix some typos in the changelog itself in order to get the dates to parse, otherwise, b(e)yond some indenting changes and comment removal, it's identical to the old changelog.
* Python 2.7 is required to run the genchangelog tool, as is PyYaml and BeautifulSoup 4. PR dudes won't be running this tool, only editing the YAML files.
* And yes, I tested this, for once.