3.8.0 released
[claws.git] / commitHelper
index 78f1b0a530b58ca39dfce7ca8f3239fa0cf81b0c..93b2b9cbeceb083181d6391e047a9ac1f34991be 100644 (file)
@@ -1,13 +1,14 @@
-#!/bin/bash
+#!/usr/bin/env bash
 args=`echo $@`
+tmpfile=${0##*/}.tmp
 
-head -n 16 configure.ac | grep VERSION= > /tmp/commitTool.tmp
-source /tmp/commitTool.tmp
+head -n 16 configure.ac | grep VERSION= > $tmpfile
+source $tmpfile
 EXTRA_VERSION=`echo $EXTRA_VERSION | awk -F'.' '{for (i=1;i<NF;i++){printf $i"."};printf $NF+1}'`
 nextsversion="${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}"
 nextextra="$EXTRA_VERSION"
 nextextratype="head"
-rm /tmp/commitTool.tmp
+rm -f $tmpfile
 
 IFS='
 '
@@ -33,7 +34,16 @@ for file in $filelist; do
 done;
 patchset="("
 log=""
-files=`cvs diff -uN $@ 2>/dev/null |grep ^Index`
+files=`cvs diff -uN $@ 2>$tmpfile |grep ^Index`
+if [ "$files" == "" ]; then
+       echo Nothing to commit\!
+       if [ -s $tmpfile ]; then
+               echo See possible reason below:
+               cat $tmpfile
+       fi
+       exit
+fi
+rm -f $tmpfile
 name=`whoami`
 #change if your login isn't your name
 if [ "$name" == "claws" ]; then
@@ -57,8 +67,18 @@ fi;
 if [ "$name" == "devel" ]; then
        name="mones";
 fi;
+if [ "$name" == "hb" ]; then
+       name="holger";
+fi;
+if [ "$name" == "salvatore" ]; then
+       name="iwkse";
+fi;
+
+if [ "$name" == "corn" ]; then
+       name="pawel";
+fi;
 
-log="`date --utc +%Y-%m-%d` [$name]\t$nextsversion\n\n"
+log="`date -u +%Y-%m-%d` [$name]\t$nextsversion\n\n"
 for line in $files; do
        file=`echo $line | cut -d' ' -f2`
        dir=`dirname $file`
@@ -69,42 +89,44 @@ for line in $files; do
        
        log="$log\t* $file\n"
        if [ "$version" != "0" ]; then
-       patchset="$patchset cvs diff -u -r $version -r $nextversion $file; "
+               patchset="$patchset cvs diff -u -r $version -r $nextversion $file; "
        else
-       patchset="$patchset diff -u /dev/null $file; "
+               patchset="$patchset diff -u /dev/null $file; "
        fi
 done;
 patchset="$patchset ) > $nextsversion.patchset"
 
-if [ "$EDITOR" == "" ]; then
-       EDITOR=vi
+if [ "$CVSEDITOR" == "" ]; then
+       if [ "$EDITOR" == "" ]; then
+               if [ "$VISUAL" != "" ]; then
+                       EDITOR=$VISUAL
+               else
+                       EDITOR=vi
+               fi;
+       fi;
+else
+       EDITOR=$CVSEDITOR
 fi;
 
+echo -e "#please complete the changelog entry below" > /tmp/logentry.$$
+echo -e -n $log >> /tmp/logentry.$$
 
-echo -e "#please complete the changelog entry below" > /tmp/logentry
-echo -e -n $log >> /tmp/logentry
-
-$EDITOR /tmp/logentry
+$EDITOR /tmp/logentry.$$
 
 echo "--8<----------"
-grep -v "^#" /tmp/logentry > /tmp/log.tmp.$$ \
-&& mv /tmp/log.tmp.$$ /tmp/logentry
-echo >> /tmp/logentry
-cat /tmp/logentry
+grep -v "^#" /tmp/logentry.$$ > /tmp/log.tmp.$$ \
+&& mv /tmp/log.tmp.$$ /tmp/logentry.$$
+echo >> /tmp/logentry.$$
+cat /tmp/logentry.$$
+
+chlog="ChangeLog"
 
 echo "--8<----------"
-if [ -f ChangeLog-gtk2.claws ]; then
-       chlog="ChangeLog-gtk2.claws"
-elif [ -f ChangeLog.claws ]; then
-       chlog="ChangeLog.claws"
-else
-       chlog="ChangeLog"
-fi
 echo -n "Is it ok (write to $chlog and update configure.ac) [y/N]?"
 read ans
 if [ "$ans" == "y" ]; then
        mv $chlog $chlog.old
-       cat /tmp/logentry > $chlog
+       cat /tmp/logentry.$$ > $chlog
        cat $chlog.old >> $chlog
        rm $chlog.old
 
@@ -115,11 +137,11 @@ if [ "$ans" == "y" ]; then
 
        if [ "$args" != "" ]; then
                echo commiting $@ PATCHSETS $chlog configure.ac
-               cvs commit -m "`cat /tmp/logentry`" $@ PATCHSETS $chlog configure.ac
+               cvs commit -m "`cat /tmp/logentry.$$`" $@ PATCHSETS $chlog configure.ac
        else
                echo commiting recursively
-               cvs commit -m "`cat /tmp/logentry` "
+               cvs commit -m "`cat /tmp/logentry.$$` "
        fi;
-       rm -f /tmp/logentry
-       wget -O /dev/null -o /dev/null http://www.colino.net/sylpheed-claws-gtk2/update.php3
+       rm -f /tmp/logentry.$$
+       wget -O /dev/null -o /dev/null http://www.colino.net/claws-mail/update.php
 fi