-#!/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='
'
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
name="paul";
fi;
-if [ "$name" == "reboot" ]; then
- name="christoph";
-fi;
if [ "$name" == "leroyc" ]; then
name="colin";
fi;
if [ "$name" == "dinh" ]; then
name="hoa";
fi;
-if [ "$name" == "f" ]; then
+if [ "$name" == "f" -o "$name" == "darkok" ]; then
name="darko";
fi;
+if [ "$name" == "msp" ]; then
+ name="martin";
+fi;
+if [ "$name" == "devel" ]; then
+ name="mones";
+fi;
+if [ "$name" == "hb" ]; then
+ name="holger";
+fi;
+if [ "$name" == "salvatore" ]; then
+ name="iwkse";
+fi;
-log="`date --utc +%Y-%m-%d` [$name]\t$nextsversion\n\n"
+if [ "$name" == "corn" ]; then
+ name="pawel";
+fi;
+
+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`
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
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.claws-mail.org/tracker/update.php
fi