CVS-RCS(8)

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

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 successful"

_________________________________________________________________

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

_________________________________________________________________

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航