Created
June 2, 2018 03:00
-
-
Save misterbrownlee/e0fafdd3f23e23d02b9582a2d0abeab7 to your computer and use it in GitHub Desktop.
OHAI CHANGLOG
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
#!/usr/bin/env bash | |
# this is used to make the git log command less blorky | |
GH_URL_BASE='http://github.com/misterbrownlee/stupidstuff/' | |
# tell folks wassup | |
echo -e "Let's make a changelog!\n" | |
# get the current end of the commit range | |
MEOW=`git describe --abbrev=0 | cut -c 2-` | |
# get the low end of the commit range | |
echo "Adding new commits will span from a past version to the current version" | |
read -p 'Enter past version for generting the list of commits: v' LAST_VERSION | |
# make room for writing a new changelog file | |
mv CHANGELOG.md CHANGELOG.md.temp | |
# write some boilerplate into a new changelog file and append more things | |
printf '# OHAI Changelog\n\n' > CHANGELOG.md | |
printf '# v'$MEOW' \n' >> CHANGELOG.md | |
printf 'Published as `stupid-stuff@'$MEOW'`\n\n' >> CHANGELOG.md | |
printf '### Release Notes\n\n<WRITE NOTES HERE>\n\n' >> CHANGELOG.md | |
printf '### Commits\n' >> CHANGELOG.md | |
# now call git log with the version range and append that into the file | |
git log v$LAST_VERSION...HEAD^ \ | |
--pretty=format:"- %s ([%h]($GH_URL_BASE%H))" \ | |
>> CHANGELOG.md | |
# more newlines is need for format helping | |
printf '\n\n' >> CHANGELOG.md | |
# last we append content of the orginal changelog file into the new file | |
# minus the header... | |
# fancy, right? | |
tail -n +2 "CHANGELOG.md.temp" >> CHANGELOG.md | |
# clean up the temp file | |
rm CHANGELOG.md.temp | |
# tada! | |
echo 'DONE... commit the new changelog after adding TL;DR release notes' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment