CVS-RCS(8)

发表于:2007-06-21来源:作者:点击数: 标签:
4.12 sfreeze 注意 : Korn shell /bin/ksh 在你从Linux CD-ROM 安装 pdksh*.rpm 时就会产 生 请把他存成一般文字档并改变存取权限 chmod a+rx _________________________________________________________________ #!/bin/ksh # CVS program sfreeze # Progr

   
  4.12 sfreeze

注意 : Korn shell /bin/ksh 在你从Linux CD-ROM 安装 pdksh*.rpm 时就会产


请把他存成一般文字档并改变存取权限 chmod a+rx
_________________________________________________________________

#!/bin/ksh

# CVS program sfreeze
# Program to freeze and cut out the release of source tree from CVS

cmdname=`basename $0`

Usage()
{
print "\nUsage: $cmdname symbolic_tag "

print "\nFor example :- "
print " cd \$HOME"
print " $cmdname REVISION_1 mesa"
print "To see the list of revisons do -"
print "slog and see the symbolic name and do -"
print "cvs history -T"

print "\nTo create a branch off-shoot from main trunk, use"
print "the -b and -r options which makes the tag a branch tag. This is"
print "useful for creating a patch to previously released software"
print "For example :- "
print " cd \$HOME"
print " cvs rtag -b -r REVISION_1 REVISION_1_1 mesa"
print " "

# print "\nTag info is located at \$CVSROOT/CVSROOT/taginfo,v"
# print "You can do - cd $HOME; sget CVSROOT"
# print "to see this file"
exit
}

# Command getopt will not supported in next major release.
# Use getopts instead.
#while getopts r: ii
#do
# case $ii in
# r) FLAG1=$ii; OARG1="$OPTARG";;
# ?) Usage; exit 2;;
# esac
#done
#shift ` expr $OPTIND - 1 `

#echo FLAG1 = $FLAG1 , OARG1 = $OARG1

if [ $# -lt 2 ]; then
Usage
fi

if [ ! -d $2 ]; then
print "\nError: Second argument $2 is not a directory!"
print " Aborting $cmdname...."
print " "
exit
fi

# cvs rtag symbolic_tag
cvs rtag $1 $2

print "\nDone $cmdname. $cmdname suclearcase/" target="_blank" >ccessful"
_________________________________________________________________

4.13 saddtree

注意 : Korn shell /bin/ksh 在你从Linux CD-ROM 安装 pdksh*.rpm 时就会产


请把他存成一般文字档并改变存取权限 chmod a+rx。
_________________________________________________________________

#!/bin/ksh

################################################################
# Sample Program to checkin a directory tree (let's say SAMP) into CVS
# Note that if SAMP directory is not in CVS than you would use sadd
# command and -
# cd SAMP; cvs import SAMP V_1_0 R_1_0
# After running this program do -
# cd $HOME/foo/SAMP
# cvs import foo/SAMP V1_0 Rev_1_0
################################################################

hme=` echo $HOME | cut -f1 -d' ' `
if [ "$hme" = "" ]; then
print "\nError: \$HOME is not set!!\n"
exit
fi
sampdir=$hme/foo/SAMP

check_out_files()
{
# Now check out the files
tmp2f=$hme/tmp2.baksamp.sh

cd $hme
\rm -rf foo/SAMP
cvs -w checkout foo/SAMP
cd $hme/foo
find SAMP -type f -print > $tmp2f

cd $hme
for ii in `cat $tmp2f`
do
iidir=`dirname $ii`
iifile=`basename $ii`
if [ "$iifile" = "Root" -o "$iifile" = "Repository" -o "$iifile
" = "Entries" ]; then
continue
fi
jjdir=` echo $iidir | cut -d'/' -f2-1000 `

cp $hme/foo/SAMP.tobe/$jjdir/$iifile $hme/foo/$iidir/$iifile
echo "cp $hme/foo/SAMP.tobe/$jjdir/$iifile $hme/foo/$iidir/$ii
file "

cvs add foo/$iidir/$iifile
done

print
print "================================================"
print " Now run cvs commit foo/SAMP"
print " After commit. Do - "
print " cd foo; rm -rf SAMP and "
print " get fresh copy, sget SAMP"
print " Verify with slog filename.samp to see new revision"
print "================================================"
print
}

check_out_files
_________________________________________________________________

原文转自:http://www.ltesting.net