i'm a bit slow, sometimes.
[claws.git] / commitHelper
1 #!/bin/sh
2 head -15 configure.ac | grep VERSION > /tmp/commitTool.tmp
3 source /tmp/commitTool.tmp
4 EXTRA_VERSION=`echo $EXTRA_VERSION | awk -F'.' '{for (i=1;i<NF;i++){printf $i"."};printf $NF+1}'`
5 nextsversion="${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}"
6 rm /tmp/commitTool.tmp
7
8 IFS='
9 '
10 filelist=`cvs status $@ 2>/dev/null |grep ^File`
11
12 for file in $filelist; do
13         merge=`echo $file | grep Merge`
14         modif=`echo $file | grep Locally`
15
16         if [ "$merge" != "" ]; then
17                 echo $merge
18                 echo You have to update first
19                 exit
20         fi;
21         if [ "$modif" != "" ]; then
22                 echo $modif
23         fi;
24 done;
25 patchset="("
26 log=""
27 files=`cvs diff -u $@ 2>/dev/null |grep ^Index`
28 echo "--8<----------"
29 name=`whoami`
30 #change if your login isn't your name
31 if [ "$name" == "claws" ]; then
32         name="paul";
33 fi;
34 log="`date +%Y-%m-%d` [$name]\t$nextsversion\n\n"
35 for line in $files; do
36         file=`echo $line | cut -d' ' -f2`
37         dir=`dirname $file`
38         filename=`basename $file`
39         cvsfile="$dir/CVS/Entries"
40         version=`grep "\/$filename\/" $cvsfile | cut -d'/' -f3`
41         nextversion=`echo $version | awk -F'.' '{for (i=1;i<NF;i++){printf $i"."};printf $NF+1}'`
42         
43         log="$log\t* $file\n"
44         patchset="$patchset cvs diff -u -r $version -r $nextversion $file;\
45 "
46 done;
47 patchset="$patchset ) > $nextsversion.patchset"
48 log="$log\n"
49 echo -e -n $log
50 echo "--8<----------"
51 if [ -f ChangeLog-gtk2.claws ]; then
52         chlog="ChangeLog-gtk2.claws"
53 else
54         chlog="ChangeLog.claws"
55 fi
56 echo -n "Is it ok (write to $chlog) [y/N]?"
57 read ans
58 if [ "$ans" == "y" ]; then
59         mv $chlog $chlog.old
60         echo -e -n $log > $chlog
61         cat $chlog.old >> $chlog
62         rm $chlog.old
63         echo "$patchset" >> PATCHSETS
64         echo "editing $chlog configure.ac..."
65         $EDITOR $chlog configure.ac
66         echo running cvs commit $@ PATCHSETS $chlog configure.ac
67         cvs commit $@ PATCHSETS $chlog configure.ac
68 fi