pavement

Cvs

From FreeBSDwiki
Revision as of 14:21, 20 December 2014 by Sidetone (Talk | contribs)
Jump to: navigation, search

cvs stands for Concurrent Versions System. As the name implies, it is a version control system.

csup, which comes with the base system, was useful to update ports from cvs repositories. cvsup, which required heavy dependencies, may still be used for other mirroring tasks that don't apply to ports or updating sources. FreeBSD repository updates have been replaced by subversion, or ctm.

You can optionally install cvsup (or cvsup-without-gui). The cvsup program is the same as cvsup-without-gui if you do not have the X system installed, but many people prefer the non-gui version, as the cvsup version defaults to working in an X11 window (overridden with the -g flag).

Contents

Historical usage of cvs to update the source tree

Here are examples of release tags that would be chosen, FreeBSD Release Branches.

Configuring your supfile

Csup uses the same supfile configuration as cvsup, and many of the commands for cvsup also apply to csup.

To use cvs, you should have a file named standard-supfile or something similer in /usr/share/examples/cvsup. Copy it somewhere else, such as into /root, and open the copy with a text editor. The following is the file that I use:

*default host=cvsup4.jp.FreeBSD.org   pick a nearby server from [1]
*default base=/var/db
*default prefix=/usr                  source will be placed in /usr/src
*default release=cvs tag=RELENG_6     Replace RELENG_6 with your cvsup tag
*default delete use-rel-suffix
*default compress
src-all

This is basically a default supfile, with the host and release cvstag changed.

Save and close this file

Updating your source using the file

Assuming you have the supfile in your root directory named standard-supfile, run as root:

cd /root
cvsup standard-supfile

or

cd /root
cvsup -g standard-supfile

The first time you run this command, it will probably take a significant amount of time. It will go out to the server you picked in the supfile, and attempt to update all of the source code needed to update FreeBSD to whatever version you have picked. Handbook references for gobs of details: Other methods of getting source, Details and optional flags to cvsup.

In a perfect world, that will always work. The only times when it wont are when you don't have connectivity or the server that you're cvsup-ing against is not allowing connections. The -g switch just makes sure that the GUI stuff in the regular CVSup program doesn't run, which many users prefer.

For more information and the full documentation visit the [offical website].

cvs replacements

portsnap, and freebsd-update, which come with the base system, and subversion (svn) are replacements for cvs' FreeBSD update functions. csup was a direct replacement for cvsup's ability to download source files and ports. freebsd-update can update release versions of this base system. Portsnap is a good replacement for updating ports. Subversion, from the devel category, or similar programs are options to check out other mirror repositories. For more information on subversion see: FreeBSD Handbook: Using Subversion which includes links to Apache Subversion Documentation, and the free online book Version Control with Subversion.

Personal tools