2005-09-05 [paul] 1.9.13cvs83
[claws.git] / commitHelper
index 5bc7b387db6a15efdc7e74721c792f6de09869e5..667bc60f619463f6ae6beb1d19852f6a06dc14ce 100644 (file)
@@ -1,25 +1,29 @@
-#!/bin/sh
-head -16 configure.ac | grep VERSION= > /tmp/commitTool.tmp
+#!/bin/bash
+args=`echo $@`
+
+head -n 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}"
-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}"
-fi
+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
 
 IFS='
 '
-filelist=`cvs status $@ 2>/dev/null |grep ^File`
+filelist=`cvs status $@ configure.ac 2>/dev/null |grep ^File`
 
 for file in $filelist; do
        merge=`echo $file | grep Merge`
        modif=`echo $file | grep Locally`
-
+       patch=`echo $file | grep Patch`
+       if [ "$patch" != "" ]; then
+               echo $patch 
+               echo You have to update first
+               exit
+       fi;
        if [ "$merge" != "" ]; then
-               echo $merge
+               echo $merge 
                echo You have to update first
                exit
        fi;
@@ -29,8 +33,7 @@ for file in $filelist; do
 done;
 patchset="("
 log=""
-files=`cvs diff -u $@ 2>/dev/null |grep ^Index`
-echo "--8<----------"
+files=`cvs diff -uN $@ 2>/dev/null |grep ^Index`
 name=`whoami`
 #change if your login isn't your name
 if [ "$name" == "claws" ]; then
@@ -39,8 +42,23 @@ fi;
 if [ "$name" == "reboot" ]; then
        name="christoph";
 fi;
+if [ "$name" == "leroyc" ]; then
+       name="colin";
+fi;
+if [ "$name" == "torte" ]; then
+       name="thorsten";
+fi;
+if [ "$name" == "dinh" ]; then
+       name="hoa";
+fi;
+if [ "$name" == "f" -o "$name" == "darkok" ]; then
+       name="darko";
+fi;
+if [ "$name" == "msp" ]; then
+       name="martin";
+fi;
 
-log="`date +%Y-%m-%d` [$name]\t$nextsversion\n\n"
+log="`date --utc +%Y-%m-%d` [$name]\t$nextsversion\n\n"
 for line in $files; do
        file=`echo $line | cut -d' ' -f2`
        dir=`dirname $file`
@@ -50,12 +68,30 @@ for line in $files; do
        nextversion=`echo $version | awk -F'.' '{for (i=1;i<NF;i++){printf $i"."};printf $NF+1}'`
        
        log="$log\t* $file\n"
-       patchset="$patchset cvs diff -u -r $version -r $nextversion $file;\
-"
+       if [ "$version" != "0" ]; then
+       patchset="$patchset cvs diff -u -r $version -r $nextversion $file; "
+       else
+       patchset="$patchset diff -u /dev/null $file; "
+       fi
 done;
 patchset="$patchset ) > $nextsversion.patchset"
-log="$log\n"
-echo -e -n $log
+
+if [ "$EDITOR" == "" ]; then
+       EDITOR=vi
+fi;
+
+
+echo -e "#please complete the changelog entry below" > /tmp/logentry
+echo -e -n $log >> /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
+
 echo "--8<----------"
 if [ -f ChangeLog-gtk2.claws ]; then
        chlog="ChangeLog-gtk2.claws"
@@ -64,24 +100,26 @@ elif [ -f ChangeLog.claws ]; then
 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
+
+       cat configure.ac | sed "s/^EXTRA_VERSION=.*/EXTRA_VERSION=$nextextra/" > configure.ac.new \
+       && mv configure.ac.new configure.ac ;
+       
        echo "$patchset" >> PATCHSETS
-       echo "editing $chlog configure.ac..."
-       if [ "$EDITOR" == "" ]; then
-               EDITOR=vi
-       fi;
-       $EDITOR $chlog configure.ac
-       if [ "$@" != "" ]; then
-               echo running cvs commit $@ PATCHSETS $chlog configure.ac
-               cvs commit $@ PATCHSETS $chlog configure.ac
+
+       if [ "$args" != "" ]; then
+               echo commiting $@ PATCHSETS $chlog configure.ac
+               cvs commit -m "`cat /tmp/logentry`" $@ PATCHSETS $chlog configure.ac
        else
-               echo running cvs commit
-               cvs commit
+               echo commiting recursively
+               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
 fi