UNPKG

1.22 kBapplication/x-shView Raw
1#!/bin/bash
2
3FILE=""
4NULL="/dev/null"
5LIST=false
6TAG=$(node -e "console.log(require('./package.json').version)")
7tmp="$TMPDIR/changelog"
8name=`echo $(uname -s) | cut -c 1-10`;
9
10if [ $name == "MINGW32_NT" ]; then
11 NULL="NUL";
12 tmp="._changelog"
13fi
14
15while [ "$1" != "" ]; do
16 case $1 in
17 -l | --list )
18 LIST=true
19 ;;
20 -t | --tag )
21 TAG=$2
22 shift
23 ;;
24 * )
25 FILE=$1
26 ;;
27 esac
28 shift
29done
30
31DATE=`date +'%Y-%m-%d'`
32HEAD="## $DATE, Version $TAG\n\n"
33
34if $LIST; then
35 printf "$HEAD"
36 lasttag=$(git rev-list --tags --max-count=1 2>$NULL)
37 version=$(git describe --tags --abbrev=0 $lasttag 2>$NULL)
38 export GIT_PAGER=cat # disable pager when running interactively
39 if test -z "$version"; then
40 git log --no-merges --pretty="format: * %s (%an)%n"
41 else
42 git log --no-merges --pretty="format: * %s (%an)%n" $version..
43 fi
44 exit
45fi
46
47CHANGELOG=$FILE
48if test "$CHANGELOG" = ""; then
49 CHANGELOG=`ls | egrep 'change|history' -i|head -n1`
50 if test "$CHANGELOG" = ""; then
51 CHANGELOG='History.md';
52 fi
53fi
54
55$0 --list >> $tmp
56printf '\n' >> $tmp
57if [ -f $CHANGELOG ]; then echo "" >> $tmp; cat $CHANGELOG >> $tmp; fi
58mv $tmp $CHANGELOG
59test -n "$EDITOR" && $EDITOR $CHANGELOG