Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- WRITE=false
- FILE="ChangeLog"
- GITPATH="master..HEAD"
- while [ "$1" != "" ]; do
- case $1 in
- -w )
- WRITE=true
- ;;
- -f )
- shift
- FILE="$1"
- ;;
- * )
- GITPATH="$1"
- ;;
- esac
- shift
- done
- if `git branch --no-color | grep -q '^\*'`; then
- OUTPUT=""
- HEAD=""
- BRANCH=`git branch --no-color | grep '^\*' | grep -v 'no branch' | sed 's/^* //g' | sed 's/.*\///g' | grep '^[0-9][0-9.]'`
- if [ "$BRANCH" != "" ]; then
- DATE=`date -I`
- DIR=${PWD##*/}
- USER=`git config --get user.name`
- HEAD="$DATE [RELEASE] Release of $DIR $BRANCH ($USER)"$'\n'
- fi
- LOG=`git log --pretty=format:"%ad %h %s (%an)" --date=short --no-merges $GITPATH`
- if [ "$LOG" != "" ]; then
- OUTPUT=$HEAD$LOG$'\n'$'\n';
- fi
- if [ -f $FILE ]; then
- OUTPUT=$OUTPUT"`cat $FILE`"
- fi
- if $WRITE; then
- echo "$OUTPUT" > $FILE
- OUTPUT=$OUTPUT$'\n'$'\n'"File $FILE was written."
- fi
- echo "$OUTPUT"
- fi
- # USAGE
- # git write-changelog [-w] [-f <filename>] [<path>]
- # git write-changelog [-w] [-f ChangeLog] [master..HEAD]
- # -w: Write log to file
- # -f <filename>: Name of changelog file
- # path: path for git log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement