#!/bin/bash
SCRIPTDIR=$(dirname $0)
CHANGELOG=${SCRIPTDIR}/../deb/debian/changelog
DIST=unstable
FIRST=1

print_changelog_item() {
    DATE=$(git log -1 --format=%cD ${TAG})
    DEBFULLNAME=$(git log -1 --format=%an ${TAG})
    DEBEMAIL=$(git log -1 --format=%ae ${TAG})

    if [ ${FIRST} = 0 ]; then echo >> ${CHANGELOG}; fi
    FIRST=0

    echo "vpp-nsh-plugin (${VER}) ${DIST}; urgency=low" >> ${CHANGELOG}
    echo >> ${CHANGELOG}
    echo "${DESC}" >> ${CHANGELOG}
    echo >> ${CHANGELOG}
    echo " -- ${DEBFULLNAME} <${DEBEMAIL}>  ${DATE}" >> ${CHANGELOG}
}

VER=$(${SCRIPTDIR}/version)
TAG=HEAD
ADDS=$(echo ${VER} | sed -e 's/~.*//'| cut -s -d- -f2)

rm -f ${CHANGELOG}

if [ -n "${ADDS}" ]; then
    DESC="  * includes ${ADDS} commits after $(echo ${VER}| cut -d- -f1) release"
    print_changelog_item
fi

for TAG in $(git tag -l 'v[0-9][0-9].[0-9][0-9]' | sort -r ); do
    VER=$(echo ${TAG}| sed -e 's/^v//')
    DESC=$(git tag -l -n20 ${TAG} | tail -n+2 | sed -e 's/^ */  /')
    print_changelog_item
done