Home | History | Annotate | Line # | Download | only in sets
      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 
     12 xrcs_descr=
     13 xrcs_msg=
     14 xrcs_cur=
     15 xrcs_new=
     16 
     17 xrcs_latest()
     18 {
     19 	rcslog -rlatest ${xrcs_cur} | \
     20 	sed -n '/^revision/ { s/^revision //; p; }'
     21 }
     22 
     23 xrcs_retag()
     24 {
     25 	previous=$( xrcs_latest 2>/dev/null )
     26 	if [ -n "$previous" ]; then
     27 		rcs -q -Nprevious: ${xrcs_cur}
     28 	fi
     29 }
     30 
     31 xrcs_unlock()
     32 {
     33 	rcs -q -u -U -M ${xrcs_cur}
     34 }
     35 
     36 xrcs_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 
     43 xrcs_co()
     44 {
     45 	co -q -f -u ${xrcs_cur}
     46 }
     47 
     48 xrcs_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 
     62 xrcs_add()
     63 {
     64 	xrcs_init
     65 	cp -p $1 ${xrcs_cur}
     66 	xrcs_ci
     67 	xrcs_co
     68 }
     69 
     70 xrcs_update()
     71 {
     72 	xrcs_init
     73 	xrcs_ci
     74 	xrcs_co
     75 }
     76 
     77 xrcs_remove()
     78 {
     79 	xrcs_init
     80 	cp /dev/null ${xrcs_cur}
     81 	xrcs_ci
     82 	rm ${xrcs_cur}
     83 }
     84 
     85 xrcs()
     86 {
     87 	eval xrcs_$1
     88 }
     89