#!/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