Cvs and updating to head
Figure 4-1 shows a group of file revision numbers, with a string denoting which revision numbers belong to the same release.CVS allows you to create a single tag that denotes all the file revisions that connect to that virtual string.(By a development branch, I mean either the trunk or a version marked by a CVS branch tag) First set the CVSROOT environment variable and make sure it is exported: For Release versions are labeled with a tag of the form R-1-2-3.
ln -sf $# -- set release numbers on release and devel.
One of the most helpful yet underused facilities of CVS is the tag .
CVS's tagging feature allows you to label a revision for later retrieval.
# # emacs MAJOR=1 MINOR=9 PL=0 NEWMAJOR=2 NEWMINOR=0 TAG=R-$MAJOR-$MINOR-$PL BRANCHTAG=R-$MAJOR-$MINOR-patches REL=R-$MAJOR.$MINOR.0 OREL=R-1.8.1 echo -e "TAG=$TAG\n REL=$REL\n OREL=$OREL" export CVSROOT=/home/rdevel/CVS-ARCHIVE cd ~/r-devel rm -rf R BUILD cvs checkout -P R #-- set/check version number and release status: cd R tools/rsync-recommended echo $MAJOR.$MINOR.$PL VERSION autoconf mkdir ../BUILD cd ../BUILD # FIXME: this'll build against Tcl 8.0 on Franz and so might # break future versions ../R/configure --enable-maintainer-mode --prefix ~/$REL make && make check && make check-devel && make check-all cd ~/r-devel/R cvs update -Pd # watch out for merges!
cvs commit -m 'preparing for release' #---- at specified time: cd ~/r-devel/R cvs update -Pd # watch out for last minute merges - # make check again if necessary!