1# $NetBSD: metalog.subr,v 1.2 2011/02/17 08:41:35 uebayasi Exp $ 2 3# 4# xrcs add 5# xrcs update 6# xrcs remove 7# 8# RCS wrapper for non-interactive scripts. 9# Excerpted from /etc/security. 10# 11 12xrcs_descr= 13xrcs_msg= 14xrcs_cur= 15xrcs_new= 16 17xrcs_latest() 18{ 19 rcslog -rlatest ${xrcs_cur} | \ 20 sed -n '/^revision/ { s/^revision //; p; }' 21} 22 23xrcs_retag() 24{ 25 previous=$( xrcs_latest 2>/dev/null ) 26 if [ -n "$previous" ]; then 27 rcs -q -Nprevious: ${xrcs_cur} 28 fi 29} 30 31xrcs_unlock() 32{ 33 rcs -q -u -U -M ${xrcs_cur} 34} 35 36xrcs_ci() 37{ 38 xrcs_retag 39 ci -q -f -u -t-"$xrcs_descr" -m"$xrcs_msg" -Nlatest ${xrcs_cur} 40 rcs -q -kb -U ${xrcs_cur} 41} 42 43xrcs_co() 44{ 45 co -q -f -u ${xrcs_cur} 46} 47 48xrcs_init() 49{ 50 if [ -f ${xrcs_cur},v ]; then 51 xrcs_unlock 52 fi 53 54 if [ -f ${xrcs_cur} ]; then 55 if [ ! -f ${xrcs_cur},v ]; then 56 xrcs_ci 57 xrcs_co 58 fi 59 fi 60} 61 62xrcs_add() 63{ 64 xrcs_init 65 cp -p $1 ${xrcs_cur} 66 xrcs_ci 67 xrcs_co 68} 69 70xrcs_update() 71{ 72 xrcs_init 73 xrcs_ci 74 xrcs_co 75} 76 77xrcs_remove() 78{ 79 xrcs_init 80 cp /dev/null ${xrcs_cur} 81 xrcs_ci 82 rm ${xrcs_cur} 83} 84 85xrcs() 86{ 87 eval xrcs_$1 88} 89