claws-mail/commitHelper
Paul Mangan 89673bbaaf * .cvsignore
* ChangeLog
	* ChangeLog.claws	** REMOVED **
	* ChangeLog-gtk2.claws	** REMOVED **
	* ChangeLog.gtk1	** ADDED **
	* INSTALL
	* Makefile.am
	* NEWS
	* README
	* README.claws		** REMOVED **
	* README.jp		** REMOVED **
	* RELEASE_NOTES		** ADDED **
	* RELEASE_NOTES.claws	** REMOVED **
	* commitHelper
	* configure.ac
	* sylpheed.spec.in	** REMOVED **
		tidy up and update the default docs:
		ChangeLog.claws is renamed ChangeLog.gtk1
		ChangeLog-gtk2.claws is renamed ChangeLog
		README.claws is renamed README
		RELEASE_NOTES.claws is renamed RELEASE_NOTES
---------------------------------------------
2005-10-31 11:31:39 +00:00

121 lines
2.9 KiB
Bash

#!/bin/bash
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}"
nextextra="$EXTRA_VERSION"
nextextratype="head"
rm /tmp/commitTool.tmp
IFS='
'
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 You have to update first
exit
fi;
if [ "$modif" != "" ]; then
echo $modif
fi;
done;
patchset="("
log=""
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;
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;
if [ "$name" == "devel" ]; then
name="mones";
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`
filename=`basename $file`
cvsfile="$dir/CVS/Entries"
version=`grep "\/$filename\/" $cvsfile | cut -d'/' -f3`
nextversion=`echo $version | awk -F'.' '{for (i=1;i<NF;i++){printf $i"."};printf $NF+1}'`
log="$log\t* $file\n"
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"
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
chlog="ChangeLog"
echo "--8<----------"
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 $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
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
wget -O /dev/null -o /dev/null http://www.colino.net/sylpheed-claws-gtk2/update.php3
fi