#!/bin/bash

function changelog(){
    current_tag=$(git describe --tags --abbrev=0)
    previous_tag=$(git describe --tags --abbrev=0 $(git rev-list --tags --skip=1 --max-count=1))
    git log ${previous_tag}..${current_tag} --reverse --pretty=format:"%B" | nl -w2 -s". " > CHANGELOG.txt
    cat CHANGELOG.txt
}

function main() {
    local cmd=$1
    shift 1
    case $cmd in
    changelog)
        changelog
        ;;
    *)
        changelog
        ;;
    esac
}

main $@