Change log from git commits

Git commits aren't the perfect way to communicate change logs, however it gets better each phase.

Phase 1:

Tell developers to add #changelog in their commit messages, if they want a message to go as a change log.

Release notes post deployment can be generated with the command:

git log prevTag...newTag --no-merges --format=%B --reverse | grep "#changelog"

Ex. git log v4.2.5...v4.2.8 --no-merges --format=%B --reverse| grep "$changelog"

Phase 2:

Branch naming conventions.

bugfix, hotfix, feature followed by appropriate commit messages will generate changelog in standard unix style:

Example

=====

Fixes:

  • Fixed an issue with sandwich. It won't need sudo now.
  • Removed the bug which paints your face.
  • Removed the bug causing blood cancer.

New features:

  • You can now talk to dead people, via single click.
  • Allows bilocation. You can be sleep and attend classes, at the same time.
  • You can now fly to Asgard.

=====

Phase 3:

With git flow in place and some issue-tracker, you should be able to map commits and issues correspondingly. So, if issue-tracker has commit id or commit has issue id, release notes will automatically add it in bug-fix or feature based on the tag applied in issue-tracker. This also helps in emailing the corresponding people who filed the bug, or raised the feature request.

Phase 4:

Add a tool to auto-generate context and add release notes by it's own consolidation. Get a human for reviewing final notes, before publish.

Phase 5:

Read developer's mind and generate automatically. A chip can be inserted in developer's mind and can be activated when (s)he thinks about or works on the project.

While phase 5 is prone to errors and may not be perfect, it works the best.

Srujan

You should go to about section on this site.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.