Skip to content

Instantly share code, notes, and snippets.

@creotiv
Created January 9, 2012 15:56
Show Gist options
  • Save creotiv/1583550 to your computer and use it in GitHub Desktop.
Save creotiv/1583550 to your computer and use it in GitHub Desktop.
Script for Git that generates changelog by tags
#!/bin/bash
# Author:Andrey Nikishaev, Gunnar Lindholm
echo "CHANGELOG"
echo ----------------------
git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags |tac |grep -v '^$' | while read TAG ; do
echo
if [ $NEXT ];then
echo [$NEXT]
else
echo "[Current]"
fi
GIT_PAGER=cat git log --no-merges --format=" * %s" $TAG..$NEXT
NEXT=$TAG
done
FIRST=$(git tag -l | head -1)
echo
echo [$FIRST]
GIT_PAGER=cat git log --no-merges --format=" * %s" $FIRST
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment