X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Flibzypp.git;a=blobdiff_plain;f=mkChangelog;h=52cb498d6c1e988f0dd1092a32a3a4cac0a1af99;hp=79476b99e6e9a68b19adf0314c2f552a51916f13;hb=HEAD;hpb=7d109147970d5cf028484470d52b3f97e29a73de diff --git a/mkChangelog b/mkChangelog index 79476b9..6d4303e 100755 --- a/mkChangelog +++ b/mkChangelog @@ -48,7 +48,13 @@ esac export LC_ALL="" export LANG="en" -EDITOR=${EDITOR:-vi} + +function Edit() +{ + local FILE="$1" + vi "$FILE" + sed -i 's/ \+$//' "$FILE" +} EMAIL="$(git config --get user.email)" @@ -84,16 +90,27 @@ function getversion() { printf "LAST_COMPAT='%s'\n", lastcompat printf "THIS_RELEASE='%s'\n", major"."minor"."patch printf "THIS_COMPAT='%s'\n", compatminor + printf "THIS_MINOR='%s'\n", minor + printf "THIS_PATCH='%s'\n", patch } ' } +function setversion() { + local KEY="$1" + local VAL="$2" + sed -i "s/^ *SET *( *${KEY} .*/SET(${KEY} \"${VAL}\")/" "$VERSIONFILE" +} + function sameVersion() { test "$LAST_RELEASE" == "$THIS_RELEASE" -a "$LAST_COMPAT" == "$THIS_COMPAT" } function getchanges() { - git log --no-merges --pretty=format:'- %s' "$LAST_RELEASE"..HEAD | grep -v 'po.tar.bz2' + git log --no-merges --pretty=format:'@@%B' "$LAST_RELEASE"..HEAD \ + | awk '/^@@/{p=1}/^@@Translated using Weblate/{p=0}(p){print}' \ + | sed '/./{H;$!d};x;/./{s/ *\n */ /g;s/^ *//;s/ *$//;/[^]})!?:.]$/s/$/./;p};d' \ + | fold -s -w 66 | sed '/^@@/{s/^../- /;p;d};s/^/ /' } function newchangesentry() { @@ -127,7 +144,7 @@ git status --porcelain | grep '^[^ ?]' | grep -v "$VERSIONFILE\|$CHANGESFILE" && # A tag for $LAST_RELEASE must exist! eval $(getversion) -test -e ".git/refs/tags/$LAST_RELEASE" || { +git rev-parse -q --verify "$LAST_RELEASE" >/dev/null || { Recho "!!!" Recho "!!! There is no LAST_RELEASE tag '$LAST_RELEASE'. Check manually. " Recho "!!! (git tag -m 'tagging $LAST_RELEASE' '$LAST_RELEASE' ?commit?)" @@ -153,11 +170,11 @@ while true; do sameVersion && { newchangesentry Becho "!!! Version is unchanged at $LAST_RELEASE ($LAST_COMPAT)." - read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (e)dit version [e]: ")" RES + read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (P) patch, (M) minor, (I) incompat minor, (e)dit version [e]: ")" RES echo case "${RES:-e}" in [eE]*) - $EDITOR $VERSIONFILE + Edit $VERSIONFILE eval $(getversion) continue ;; @@ -165,6 +182,24 @@ while true; do Becho "!!! Leave $VERSIONFILE untouched" break ;; + [P]) + setversion LIBZYPP_PATCH $(($THIS_PATCH + 1)) + eval $(getversion) + continue + ;; + [M]) + setversion LIBZYPP_MINOR $(($THIS_MINOR + 1)) + setversion LIBZYPP_PATCH 0 + eval $(getversion) + continue + ;; + [I]) + setversion LIBZYPP_COMPATMINOR $(($THIS_MINOR + 1)) + setversion LIBZYPP_MINOR $(($THIS_MINOR + 1)) + setversion LIBZYPP_PATCH 0 + eval $(getversion) + continue + ;; *) errexit "aborted" ;; @@ -181,7 +216,7 @@ trap " [ -f \"$TMPFILE\" ] && /bin/rm -f -- \"$TMPFILE\" " 0 1 2 3 13 15 RES=e while [ "$RES" == "e" ]; do - $EDITOR $TMPFILE + Edit $TMPFILE echo awk '{print}/^----------/{n=n+1; if ( n == 2 ) exit 0; }' $TMPFILE read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (s)ubmitt, (e)dit [e]: ")" RES