132nd-vWing / 132nd-Virtual-Wing-Training-Mission-Tblisi

Training Mission used by the 132nd Virtual Wing flying DCS World
The Unlicense
6 stars 1 forks source link

Changelog #16

Closed theendsofinvention closed 7 years ago

theendsofinvention commented 7 years ago

Add & maintain automated changelog using Git commits.

theendsofinvention commented 7 years ago

Candidate 1: gitchangelog (syntax)

Example:

Commits list:
* 59f902a Valentin Lab new: dev: sections in changelog are now in the order given in ``gitchangelog.rc`` in the ``section_regexps`` option.  (0.1.2)
* c6f72cc Valentin Lab chg: dev: commented code to toggle doctest mode.
* a9c38f3 Valentin Lab fix: dev: doctests were failing on this.
* 59524e6 Valentin Lab new: usr: added ``body_split_regexp`` option to attempts to format correctly body of commit.
* 5883f07 Valentin Lab new: usr: use a list of tuple instead of a dict for ``section_regexps`` to be able to manage order between section on find match.
* 7c1d480 Valentin Lab new: dev: new ``unreleased_version_label`` option in ``gitchangelog.rc`` to change label of not yet released code.
* cf29c9c Valentin Lab fix: dev: bad sorting of tags (alphanumerical). Changed to commit date sort.
* 61d8f80 Valentin Lab fix: dev: support of empty commit message.
* eeca31b Valentin Lab new: dev: use ``gitchangelog`` section in ``git config`` world appropriately.
* 6142b71 Valentin Lab chg: dev: cosmetic removal of trailing whitespaces
* 3c3edd5 Valentin Lab fix: usr: ``git`` in later versions seems to fail on ``git config <key>`` with errlvl 255, that was not supported.
* 3f9617d Valentin Lab fix: usr: removed Traceback when there were no tags at all in the current git repository.
* e0db9ae Valentin Lab new: usr: added section classifiers (ie: New, Change, Bugs) and updated the sample rc file.  (0.1.1)
* 0c66d59 Valentin Lab fix: dev: Fixed case where exception was thrown if two tags are on the same commit.
* d2fae0d Valentin Lab new: usr: added a succint ``--help`` support.

Generates output:
0.1.2 (2011-05-17)
------------------

New
~~~
- Sections in changelog are now in the order given in ``git-
  changelog.rc`` in the ``section_regexps`` option. [Valentin Lab]
- Added ``body_split_regexp`` option to attempts to format correctly
  body of commit. [Valentin Lab]
- Use a list of tuple instead of a dict for ``section_regexps`` to be
  able to manage order between section on find match. [Valentin Lab]
- New ``unreleased_version_label`` option in ``gitchangelog.rc`` to
  change label of not yet released code. [Valentin Lab]
- Use ``gitchangelog`` section in ``git config`` world appropriately.
  [Valentin Lab]

Changes
~~~~~~~
- Commented code to toggle doctest mode. [Valentin Lab]
- Cosmetic removal of trailing whitespaces. [Valentin Lab]

Fix
~~~
- Doctests were failing on this. [Valentin Lab]
- Bad sorting of tags (alphanumerical). Changed to commit date sort.
  [Valentin Lab]
- Support of empty commit message. [Valentin Lab]
- ``git`` in later versions seems to fail on ``git config <key>`` with
  errlvl 255, that was not supported. [Valentin Lab]
- Removed Traceback when there were no tags at all in the current git
  repository. [Valentin Lab]

0.1.1 (2011-04-07)
------------------

New
~~~
- Added section classifiers (ie: New, Change, Bugs) and updated the
  sample rc file. [Valentin Lab]
- Added a succint ``--help`` support. [Valentin Lab]

Fix
~~~
- Fixed case where exception was thrown if two tags are on the same
  commit. [Valentin Lab]
theendsofinvention commented 7 years ago

@132nd-Entropy @132ndNeck

I will implement automated changelog generation and publishing soon.

In the meanwhile, please consider the following while writing your commits' description:

The complete spec can be found here: https://github.com/vaab/gitchangelog/blob/master/.gitchangelog.rc

132nd-Entropy commented 7 years ago

wilco!

132ndNeck commented 7 years ago

Wilco

theendsofinvention commented 7 years ago

Assigned to myself: move this along with any and all relevant information into CONTRIBUTING.md, and update README.md accordingly

On Fri, 12 May 2017 14:34 132ndNeck, notifications@github.com wrote:

Wilco

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/132nd-Entropy/132nd-Virtual-Wing-Training-Mission-Tblisi/issues/16#issuecomment-301064523, or mute the thread https://github.com/notifications/unsubscribe-auth/AUSp35MFeUzXieqec8v1f52sT1iMH57Xks5r5FHBgaJpZM4NPNCD .

theendsofinvention commented 7 years ago

An example changelog output can be found here (line 78)

theendsofinvention commented 7 years ago

Would you be ok with the following:

  1. Changes are pushed to GH
  2. AV builds the MIZ
  3. AV generates changelog
  4. AV creates a sneaky commit with the updated changelog
  5. That commit is pushed back to GH

PROs: automated changelog management CONs: we have to pull the commit back every time the changelog updates

132ndNeck commented 7 years ago

I am happy with that.

theendsofinvention commented 7 years ago

We now have a working changelog.

This is the current "master" changelog

This the the changelog of my testing branch (note the "Unreleased" section).

If you are both happy with the look of it & the method used to generate it, I'll merge the relevant bits of my testing branch.

A changelog will be generated for each branch; in case of conflict during merge/rebase, just pick any, it will be generated again on the next build anyway.

theendsofinvention commented 7 years ago

Side note: earlier commits are ugly, since they don't follow the githchangelog syntax* we new enforce. I'm looking into an elegant solution to fix this.