NetBSD/distrib/sets/metalog.subr

89 lines
1.0 KiB
Plaintext

# $NetBSD: metalog.subr,v 1.2 2011/02/17 08:41:35 uebayasi Exp $
#
# xrcs add
# xrcs update
# xrcs remove
#
# RCS wrapper for non-interactive scripts.
# Excerpted from /etc/security.
#
xrcs_descr=
xrcs_msg=
xrcs_cur=
xrcs_new=
xrcs_latest()
{
rcslog -rlatest ${xrcs_cur} | \
sed -n '/^revision/ { s/^revision //; p; }'
}
xrcs_retag()
{
previous=$( xrcs_latest 2>/dev/null )
if [ -n "$previous" ]; then
rcs -q -Nprevious: ${xrcs_cur}
fi
}
xrcs_unlock()
{
rcs -q -u -U -M ${xrcs_cur}
}
xrcs_ci()
{
xrcs_retag
ci -q -f -u -t-"$xrcs_descr" -m"$xrcs_msg" -Nlatest ${xrcs_cur}
rcs -q -kb -U ${xrcs_cur}
}
xrcs_co()
{
co -q -f -u ${xrcs_cur}
}
xrcs_init()
{
if [ -f ${xrcs_cur},v ]; then
xrcs_unlock
fi
if [ -f ${xrcs_cur} ]; then
if [ ! -f ${xrcs_cur},v ]; then
xrcs_ci
xrcs_co
fi
fi
}
xrcs_add()
{
xrcs_init
cp -p $1 ${xrcs_cur}
xrcs_ci
xrcs_co
}
xrcs_update()
{
xrcs_init
xrcs_ci
xrcs_co
}
xrcs_remove()
{
xrcs_init
cp /dev/null ${xrcs_cur}
xrcs_ci
rm ${xrcs_cur}
}
xrcs()
{
eval xrcs_$1
}