#!/bin/sh -e if [ $# -ne 1 ]; then echo "Usage: $0 merge-from" echo " where merge-from is the branch you want to generate pending merge changes from" exit 1 fi if [ ! -f CVS/Root ] || [ ! -f CVS/Repository ]; then echo "ERROR: The script must be run from a CVS working directory" exit 1 fi if [ -f CVS/Tag ]; then localtag=`cat CVS/Tag|cut -c2-` else localtag=HEAD fi rootdir=`cat CVS/Root|sed -e 's/.*://'` module=`cat CVS/Repository|sed -e "s#^$rootdir##"` mergefrom="$1" mergetag="Z-${localtag}_merge_${mergefrom}" newtag="Z-${localtag}_merge-new_${mergefrom}" oldtag="Z-${localtag}_merge-old_${mergefrom}" ecvs() { echo cvs $* >&2 cvs "$@" } o () { echo "# $*..." } echo "Patch file generated `date` from" echo "CVS branch ${localtag}" echo "CVS repository: `cat CVS/Root`" echo "CVS module: $module" echo ecvs -z9 -q rdiff -u -kk -r ${mergetag} -r ${mergefrom} ${module} | cleanpatch