add --syncgtk2 parameter to avoid messing with configure.ac when syncing
[claws.git] / commitHelper
index 3a38b2ddefa28c9c76fa94783885f396a0a49af8..d1715e93bea9e348abf16850260e27b984f40f59 100644 (file)
@@ -1,12 +1,26 @@
-#!/bin/sh
+#!/bin/bash
+if [ "$1" == "--syncgtk2" ]; then
+       shift
+       echo -n "sync with EXTRA_VERSION ? [xx] "
+       read newmicro
+       cat configure.ac | sed "s/^EXTRA_VERSION=.*/EXTRA_VERSION=$newmicro/" > configure.ac.new \
+               && mv configure.ac.new configure.ac ;   
+       cat configure.ac | sed "s/^EXTRA_GTK2_VERSION=.*/EXTRA_GTK2_VERSION=.0/" > configure.ac.new \
+               && mv configure.ac.new configure.ac ;   
+fi;
+
 head -16 configure.ac | grep VERSION= > /tmp/commitTool.tmp
 source /tmp/commitTool.tmp
 if [ -z "$EXTRA_GTK2_VERSION" ]; then
        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"
 else
        EXTRA_GTK2_VERSION=`echo $EXTRA_GTK2_VERSION | awk -F'.' '{for (i=1;i<NF;i++){printf $i"."};printf $NF+1}'`
        nextsversion="${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}${EXTRA_GTK2_VERSION}"
+       nextextra="$EXTRA_GTK2_VERSION"
+       nextextratype="gtk2"
 fi
 rm /tmp/commitTool.tmp
 
@@ -36,6 +50,10 @@ name=`whoami`
 if [ "$name" == "claws" ]; then
        name="paul";
 fi;
+if [ "$name" == "reboot" ]; then
+       name="christoph";
+fi;
+
 log="`date +%Y-%m-%d` [$name]\t$nextsversion\n\n"
 for line in $files; do
        file=`echo $line | cut -d' ' -f2`
@@ -50,27 +68,52 @@ for line in $files; do
 "
 done;
 patchset="$patchset ) > $nextsversion.patchset"
-log="$log\n"
 echo -e -n $log
+
+if [ "$EDITOR" == "" ]; then
+       EDITOR=vi
+fi;
+
+echo -e "\n#please type in the changelog entry" > /tmp/logentry
+$EDITOR /tmp/logentry
+grep -v "^#" /tmp/logentry |grep -v "^$" | sed "s/^/           /" > /tmp/log.tmp.$$ \
+&& mv /tmp/log.tmp.$$ /tmp/logentry
+echo >> /tmp/logentry
+cat /tmp/logentry
+
 echo "--8<----------"
 if [ -f ChangeLog-gtk2.claws ]; then
        chlog="ChangeLog-gtk2.claws"
-else
+elif [ -f ChangeLog.claws ]; then
        chlog="ChangeLog.claws"
+else
+       chlog="ChangeLog"
 fi
-echo -n "Is it ok (write to $chlog) [y/N]?"
+echo -n "Is it ok (write to $chlog and update configure.ac) [y/N]?"
 read ans
 if [ "$ans" == "y" ]; then
        mv $chlog $chlog.old
        echo -e -n $log > $chlog
+       cat /tmp/logentry >> $chlog
        cat $chlog.old >> $chlog
        rm $chlog.old
+
+       if [ "$nextextratype" == "head" ]; then
+               cat configure.ac | sed "s/^EXTRA_VERSION=.*/EXTRA_VERSION=$nextextra/" > configure.ac.new \
+               && mv configure.ac.new configure.ac ;
+       else
+               cat configure.ac | sed "s/^EXTRA_GTK2_VERSION=.*/EXTRA_GTK2_VERSION=$nextextra/" > configure.ac.new \
+               && mv configure.ac.new configure.ac ;
+       fi;
+       
        echo "$patchset" >> PATCHSETS
-       echo "editing $chlog configure.ac..."
-       if [ "$EDITOR" == "" ]; then
-               EDITOR=vi
+
+       if [ "$@" != "" ]; then
+               echo commiting $@ PATCHSETS $chlog configure.ac
+               cvs commit -m "`cat /tmp/logentry`" $@ PATCHSETS $chlog configure.ac
+       else
+               echo commiting recursively
+               cvs commit -m "`cat /tmp/logentry` "
        fi;
-       $EDITOR $chlog configure.ac
-       echo running cvs commit $@ PATCHSETS $chlog configure.ac
-       cvs commit $@ PATCHSETS $chlog configure.ac
 fi
+rm -f /tmp/logentry