Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
#!/bin/bash | ||
|
||
# This CHANGELOG script was originally based of the work of Andrey Nikishaev and Gunnar Lindholm from this post: | ||
# http://stackoverflow.com/questions/7387612/git-changelog-how-to-get-all-changes-up-to-a-specific-tag | ||
|
||
# This script is geared towards OSX and you will need GTAC installed. | ||
# `brew install coreutils` | ||
|
||
# The placeholders are: | ||
|
||
# %H: commit hash | ||
# %h: abbreviated commit hash | ||
# %T: tree hash | ||
# %t: abbreviated tree hash | ||
# %P: parent hashes | ||
# %p: abbreviated parent hashes | ||
# %an: author name | ||
# %aN: author name (respecting .mailmap) | ||
# %ae: author email | ||
# %aE: author email (respecting .mailmap) | ||
# %ad: author date (format respects --date= option) | ||
# %aD: author date, RFC2822 style | ||
# %ar: author date, relative | ||
# %at: author date, UNIX timestamp | ||
# %ai: author date, ISO 8601 format | ||
# %cn: committer name | ||
# %cN: committer name (respecting .mailmap) | ||
# %ce: committer email | ||
# %cE: committer email (respecting .mailmap) | ||
# %cd: committer date | ||
# %cD: committer date, RFC2822 style | ||
# %cr: committer date, relative | ||
# %ct: committer date, UNIX timestamp | ||
# %ci: committer date, ISO 8601 format | ||
# %d: ref names, like the --decorate option of git-log(1) | ||
# %e: encoding | ||
# %s: subject | ||
# %f: sanitized subject line, suitable for a filename | ||
# %b: body | ||
# %B: raw body (unwrapped subject and body) | ||
# %N: commit notes | ||
# %gD: reflog selector, e.g., refs/stash@{1} | ||
# %gd: shortened reflog selector, e.g., stash@{1} | ||
# %gn: reflog identity name | ||
# %gN: reflog identity name (respecting .mailmap) | ||
# %ge: reflog identity email | ||
# %gE: reflog identity email (respecting .mailmap) | ||
# %gs: reflog subject | ||
|
||
repo_url="http://github.com/kandanapp/kandan/commit/" | ||
|
||
echo "CHANGELOG" | ||
echo "=========" | ||
git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags |gtac |grep -v '^$' | while read TAG ; do | ||
echo | ||
if [ $NEXT ];then | ||
echo "#### [$NEXT]" | ||
else | ||
echo "#### [Current]" | ||
fi | ||
GIT_PAGER=cat git log --pretty=format:" * [%h]($repo_url%h) %s __(%an)__" $TAG..$NEXT | ||
NEXT=$TAG | ||
done | ||
echo "" | ||
FIRST=$(git tag -l | head -1) | ||
echo "" | ||
|
||
echo "#### [$FIRST]" | ||
|
||
GIT_PAGER=cat git log --pretty=format:" * [%h]($repo_url%h) %s __(%an)__" $FIRST |