#!/bin/sh # # Get Root # if [ ! -f CVS/Repository ]; then echo "You are not in the qgis repository!" exit -1 fi WAY2ROOT=`sed -e 's#qgis/##' -e 's#qgis##' -e 's#[^/]+#..#g' CVS/Repository` if [ "a${WAY2ROOT}" != "a" ]; then pushd $WAY2ROOT > /dev/null fi if [ ! -f configure.in ]; then popd echo "You are not in the qgis repository!" exit -1 fi for I in $@; do if [ ! -f $I ]; then echo "File ${I} not relative to CVS Root (`pwd`)!" exit -1 fi done NAME=`sed -e 's/.*:\([^:]*\)@.*/\1/' CVS/Root` TMPFILE=`mktemp /tmp/qgis-commit-tmp.XXXXXXXXXX` MAJOR_VERSION=`sed -n -e 's/MAJOR_VERSION=//p' configure.in` MINOR_VERSION=`sed -n -e 's/MINOR_VERSION=//p' configure.in` MICRO_VERSION=`sed -n -e 's/MICRO_VERSION=//p' configure.in` EXTRA_VERSION=`sed -n -e 's/EXTRA_VERSION=//p' configure.in` if [ "a$@" != "a" ]; then EXTRAS="ChangeLog configure.in" else EXTRAS="" fi # # Change Extra Version # NEXTRA_VERSION=`expr ${EXTRA_VERSION} + 1` sed -e "/EXTRA_VERSION=/s/${EXTRA_VERSION}/${NEXTRA_VERSION}/" configure.in > configure.in.tmp mv configure.in.tmp configure.in # # Get Changes # echo "************************************************************" > ${TMPFILE} echo "Please write above that line of stars! Rest will be removed." >> ${TMPFILE} cvs diff $@ ${EXTRAS} 2> /dev/null | sed -e "/^?/d" -e "/^Index: /d" >> ${TMPFILE} ${EDITOR} ${TMPFILE} # # Add to ChangeLog # CLINES=`wc -l ChangeLog | awk '{print $1}'` DIFFLINES=`expr $CLINES - 4` DATE=`date +%F` MSG=`sed -e '/\*\{20\}/,$d' ${TMPFILE}` head -n 5 ChangeLog > ChangeLog.tmp echo "${DATE} [${NAME}] ${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}devel${NEXTRA_VERSION}" >> ChangeLog.tmp echo "${MSG}" >> ChangeLog.tmp tail -n $DIFFLINES ChangeLog >> ChangeLog.tmp mv ChangeLog.tmp ChangeLog # # Commit # cvs commit -m "${MSG}" $@ ${EXTRAS} rm ${TMPFILE} if [ "a${WAY2ROOT}" != "a" ]; then popd fi