gitchangelog.sh is a tiny, portable and fast sh script to reformat a Git log into a changelog close to a standard GNU ChangeLog. It is intended to generate a changelog for inclusion in a release.

Each commit message is made into a changelog entry and each paragraph is made into a star item of the changelog. The message title is kept on a separate line. There are options to keep only the title (as a single star item), to keep the whole body as is and to annotate the changelog with the repository tags or with merge markers.

For help see the examples below, then see the manual page or the help message.

Resources

Dependencies

  • POSIX sh

  • sed (GNU and BSD are supported)

  • Git to generate a log

  • HelpMessage and pod2man to build the man page

Examples

./gitchangelog.sh ChangeLog
./gitchangelog.sh --tags -- - --date-order |
sed 's/^\[release/^L\[release/' > ChangeLog

Credits & License

gitchangelog.sh was written by G.raud Meyer.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. The full text of the license can be found in the root directory of the project sources, in the file COPYING. Otherwise see http://www.gnu.org/licenses/.