-#!/bin/sh
-head -15 configure.ac | grep VERSION > /tmp/commitTool.tmp
+#!/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;
+args=`echo $@`
+
+head -n 16 configure.ac | grep VERSION= > /tmp/commitTool.tmp
source /tmp/commitTool.tmp
-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}"
+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
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`
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
name="paul";
fi;
-log="`date +%Y-%m-%d` [$name]\t$nextsversion\n\n"
+if [ "$name" == "reboot" ]; then
+ name="christoph";
+fi;
+if [ "$name" == "leroyc" ]; then
+ name="colin";
+fi;
+if [ "$name" == "torte" ]; then
+ name="thorsten";
+fi;
+
+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`
"
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"
-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..."
- $EDITOR $chlog configure.ac
- 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 commiting recursively
+ cvs commit -m "`cat /tmp/logentry` "
+ fi;
+ rm -f /tmp/logentry
fi