#!/bin/sh

me=`basename $0`

case $me in
	cvs-u)
		op=unlock;;
	cvs-l)
		op=lock;;
	*)
		echo "$me: not invoked as cvs-l or cvs-u" 1>&2
		exit 1;;
esac	

if [ $# -ne 1 ]; then
	echo "$me: wrong number of arguments" 1>&2
	echo "Usage: $me <directory>" 1>&2
	exit 1
fi

dir=$1

if [ $CVSROOT ]; then
	repository=`cat $dir/CVS/Repository 2>/dev/null`
	if [ $repository ]; then :
	else
		echo "$me: failed to read $dir/CVS/Repository" 1>&2
		exit 1
	fi
	if [ -d $repository ]; then
		if [ $op = unlock ]; then
			mv $repository/\#cvs.lock $repository/\#cvs.lock.bak
		else	
			mv $repository/\#cvs.lock.bak $repository/\#cvs.lock
		fi
		if [ $? -ne 0 ]; then
			echo "$me: failed moving lock file" 2>&1
			exit $?
		fi
	else
		echo "$me: no repository for $dir"
	fi
else
	echo "$me: CVSROOT not set" 1>&2
	exit 1
fi

exit 0
