blob: 75395957f7ffd9302250c720029ae780221bfe18 [file] [log] [blame]
#!/bin/sh
#
export CVS_RSH=ssh
TAG=
do_cvs()
{
DIR=$1
if [ ! -f $DIR/CVS/Repository ]; then
echo "'$DIR' has no CVS/Repository!"
exit
fi
if [ ! -f $DIR/CVS/Root ]; then
echo "'$DIR' has no CVS/Root!"
exit
fi
if [ -f $DIR/CVS/Tag ]; then
TAG="-r `cat $DIR/CVS/Tag | cut -c 2-`"
fi
REP="`cat $DIR/CVS/Repository`"
ROOT="`cat $DIR/CVS/Root`"
echo "Directory $DIR is rooted at $ROOT, $TAG $REP..."
echo " update with cvs -z3 -d $ROOT -q co $TAG -d $DIR $REP"
}
do_svn()
{
DIR=$1
if [ ! -d $DIR/.svn ]; then
echo "'$DIR' has no .svn/ subdir!"
exit
fi
ROOT=`svn info | grep URL|cut -f2 -d " "`
if [ -z "$ROOT" ]; then
echo "Couldn't find root from $DIR/.svn/entries"
exit 1
fi
echo "Directory $DIR is rooted at $ROOT..."
echo " update with svn co $ROOT $DIR"
}
if [ $# -eq 0 ]; then
DIRS=.
else
DIRS=$@
fi
for d in $DIRS
do
if [ ! -d $d ]; then
echo "no such directory '$d'"
exit
fi
if [ -d $d/CVS ]; then
do_cvs $d
elif [ -d $d/.svn ]; then
do_svn $d
else
echo "'$d' has neither CVS nor SVN information!"
fi
done