⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rcsfreeze.sh

📁 早期freebsd实现
💻 SH
字号:
#! /bin/sh# rcsfreeze - assign a symbolic revision number to a configuration of RCS files#	$Id: rcsfreeze.sh,v 4.4 1991/04/21 11:58:24 eggert Exp $#       The idea is to run rcsfreeze each time a new version is checked#       in. A unique symbolic revision number (C_[number], where number#       is increased each time rcsfreeze is run) is then assigned to the most#       recent revision of each RCS file of the main trunk.##       If the command is invoked with an argument, then this#       argument is used as the symbolic name to freeze a configuration.#       The unique identifier is still generated#       and is listed in the log file but it will not appear as#       part of the symbolic revision name in the actual RCS file.##       A log message is requested from the user which is saved for future#       references.##       The shell script works only on all RCS files at one time.#       It is important that all changed files are checked in (there are#       no precautions against any error in this respect).#       file names:#       {RCS/}.rcsfreeze.ver	version number#       {RCS/}.rscfreeze.log	log messages, most recent firstPATH=/usr/local/bin:/bin:/usr/bin:/usr/ucb:$PATHexport PATHDATE=`date` || exit# Check whether we have an RCS subdirectory, so we can have the right# prefix for our paths.if [ -d RCS ]then RCSDIR=RCS/else RCSDIR=fi# Version number stuff, log message fileVERSIONFILE=${RCSDIR}.rcsfreeze.verLOGFILE=${RCSDIR}.rcsfreeze.log# Initialize, rcsfreeze never run before in the current directory[ -r $VERSIONFILE ] || { echo 0 >$VERSIONFILE && >>$LOGFILE; } || exit# Get Version number, increase it, write back to file.VERSIONNUMBER=`cat $VERSIONFILE` &&VERSIONNUMBER=`expr $VERSIONNUMBER + 1` &&echo $VERSIONNUMBER >$VERSIONFILE || exit# Symbolic Revision NumberSYMREV=C_$VERSIONNUMBER# Allow the user to give a meaningful symbolic name to the revision.SYMREVNAME=${1-$SYMREV}echo >&2 "rcsfreeze: symbolic revision number computed: \"${SYMREV}\"rcsfreeze: symbolic revision number used:     \"${SYMREVNAME}\"rcsfreeze: the two differ only when rcsfreeze invoked with argumentrcsfreeze: give log message, summarizing changes (end with EOF or single '.')" \	|| exit# Stamp the logfile. Because we order the logfile the most recent# first we will have to save everything right now in a temporary file.TMPLOG=/tmp/rcsfrz$$trap 'rm -f $TMPLOG; exit 1' 1 2 13 15# Now ask for a log message, continously add to the log file(	echo "Version: $SYMREVNAME($SYMREV), Date: $DATE-----------" || exit	while read MESS	do		case $MESS in		.) break		esac		echo "	$MESS" || exit	done	echo "-----------" &&	cat $LOGFILE) >$TMPLOG &&# combine old and new logfilescp $TMPLOG $LOGFILE &&rm -f $TMPLOG || exittrap 1 2 13 15# Now the real work begins by assigning a symbolic revision number# to each rcs file. Take the most recent version of the main trunk.status=for FILE in ${RCSDIR}*do#   get the revision number of the most recent revision    HEAD=`rlog -h $FILE` &&	REV=`echo "$HEAD" | sed -n 's/^head:[ 	]*//p'` &&#   assign symbolic name to it.    echo >&2 "rcsfreeze: $REV $FILE" &&    rcs -q -n$SYMREVNAME:$REV $FILE || status=$?doneexit $status

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -