#!/bin/sh
set -e

VERSION=`grep -i ^version darcs.cabal | rev | cut -f1 -d' ' | rev`
echo version: $VERSION

if echo $VERSION | egrep -q '96|97|98|99'; then BETA=1; fi
BRANCH=`echo -n $VERSION | cut -d. -f1-2`

echo branch: $BRANCH

set -x

darcs changes -t $VERSION
darcs changes -t $VERSION | grep -q $VERSION

## the beta releases have a different cabal name
if test -n "$BETA"; then
    cp darcs.cabal darcs-beta.cabal
    mv darcs.cabal darcs.cabal.orig
    sed -e "s,^Name: darcs,Name: darcs-beta," -i'' darcs-beta.cabal
fi

runghc Setup sdist

if test -n "$BETA"; then
    mv darcs.cabal.orig darcs.cabal
    rm darcs-beta.cabal
fi

test -f dist/darcs-$VERSION.tar.gz
wd=`pwd`

cd /tmp
tar xvzf $wd/dist/darcs-$VERSION.tar.gz
cd darcs-$VERSION

runghc Setup configure --user
runghc Setup build
runghc Setup test

./dist/build/darcs/darcs --version
./dist/build/darcs/darcs --version | grep -q $VERSION
./dist/build/darcs/darcs --exact-version
./dist/build/darcs/darcs --exact-version | head -n 4 | grep -q $VERSION

cd ..
rm -rf darcs-$VERSION
cd $wd

set +x

echo
echo ready: dist/darcs-$VERSION.tar.gz
echo
echo Next:
echo " darcs push to the public branch-$BRANCH repository"
echo " cabal upload dist/darcs-$VERSION.tar.gz

