File: git-changelog

package info (click to toggle)
git-extras 1.7.0-1.2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 696 kB
  • sloc: sh: 381; makefile: 52
file content (31 lines) | stat: -rwxr-xr-x 854 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

DATE=`date +'%Y-%m-%d'`
HEAD="\nn.n.n / $DATE \n==================\n\n"

case "$1" in
  -l|--list)
    version=`git for-each-ref refs/tags --sort=-authordate --format='%(refname)' \
      --count=1 | sed 's/^refs\/tags\///'`
    if test -z "$version"; then
      git log --pretty="format:  * %s"
    else
      git log --pretty="format:  * %s" $version..
    fi
    ;;
  *)
    CHANGELOG=$1
    if test "$CHANGELOG" = ""; then
      CHANGELOG=`ls | egrep 'change|history' -i`
      if test "$CHANGELOG" = ""; then CHANGELOG='History.md'; fi
    fi
    tmp="$(mktemp --suffix=git-changelog)"
    trap "rm -rf '$tmp'" EXIT
    printf "$HEAD" > $tmp
    git-changelog --list >> $tmp
    printf '\n' >> $tmp
    if [ -f $CHANGELOG ]; then cat $CHANGELOG >> $tmp; fi
    mv $tmp $CHANGELOG
    test -n "$EDITOR" && $EDITOR $CHANGELOG
    ;;
esac