Home » mariadb on ubuntu » UNIX/LINUX Command – cvs

UNIX/LINUX Command – cvs


cvs—Concurrent Versions System


cvs [ cvs_options ] cvs-command [ command_options ][command_args ]


cvs is a front end to the rcs(1) revision control system, which extends the notion of revision control from a collection of files in a single directory to a hierarchical collection of directories consisting of revision controlled files. These directories and files can be combined together to form a software release. cvs provides the functions necessary to manage these software releases and to control the concurrent editing of source files among multiple software developers.

cvs keeps a single copy of the master sources. This copy is called the source repository; it contains all the information to permit extracting previous software releases at any time based on either a symbolic revision tag, or a date in the past.


The cvs command line can include cvs_options, which apply to the overall cvs program; a cvs_command, which specifies a particular action on the source repository; and command_options and command_arguments to fully specify what the cvs_command will do.

There are only two situations where you may omit cvs_command: cvs –H or cvs –help elicits a list of available commands, and cvs –v or cvs –version displays version information on cvs itself.


As of release 1.6, cvs supports GNU style long options as well as short options. Only a few long options are currently supported; these are listed in brackets after the short options whose functions they duplicate.

Use these options to control the overall cvs program:

Options Description
–H [–help] Display usage information about the specified cvs command (but do not actually execute the command). If you don’t specify a command name, cvs –H displays a summary of all the commands available.
–Q Causes the command to be really quiet; the command will generate output only for serious problems.
–q Causes the command to be somewhat quiet; informational messages, such as reports of recursion through subdirectories, are suppressed.
–b bindir Use bindir as the directory where RCS programs are located. Overrides the setting of the RCSBIN environment variable. This value should be specified as an absolute pathname.
–d CVS_root_directory Use CVS_root_directory as the root directory pathname of the master RCS source repository. Overrides the setting of the CVS-ROOT environment variable. This value should be specified as an absolute pathname.
–e editor Use editor to enter revision log information. Overrides the setting of the CVSEDITOR and the EDITOR environment variables.
–f Do not read the cvs startup file (˜/.cvsrc).
–l Do not log the cvs_command in the command history (but execute it anyway). See the description of the history command for information on command history.
–n Do not change any files. Attempt to execute the cvs_command, but only to issue reports; do not remove, update, or merge any existing files, or create any new files.
–t Trace program execution; display messages showing the steps of cvs activity. Particularly useful with –n to explore the potential impact of an unfamiliar command.
-r Makes new working files read-only. Same effect as if the CVS-READ environment variable is set.
–v [–version] Displays version and copyright information for cvs.
–w Makes new working files read-write (default). Overrides the setting of the CVSREAD environment variable.
–z compression–level When transferring files across the network use gzip with compression level compression–level to compress and decompress data as it is transferred. Requires the presence of the GNU gzip program in the current search path at both ends of the link.


Except when requesting general help with cvs –H, you must specify a cvs_command to cvs to select a specific release control function to perform. Each cvs command accepts its own collection of options and arguments. However, many options are available across several commands. You can display a usage summary for each command by specifying the –H option with the command.


Here are brief descriptions of all the cvs commands:

Command Description
add Add a new file or directory to the repository, pending a cvs commit on the same file. Can only be done from within sources created by a previous cvs checkout invocation. Use cvs import to place whole new hierarchies of sources under cvs control. (Does not directly affect repository; changes working directory.)
admin Execute RCS control functions on the source repository. (Changes repository directly; uses working directory without changing it.)
checkout Make a working directory of source files for editing. (Creates or changes working directory.)
commit Apply to the source repository changes, additions, and deletions from your working directory. (Changes repository.)
diff Show differences between files in working directory and source repository, or between two revisions in source repository. (Does not change either repository or working directory.)
export Prepare copies of a set of source files for shipment off site. Differs from cvs checkout in that no cvs administrative directories are created (and therefore cvs commit cannot be executed from a directory prepared with cvs export), and a symbolic tag must be specified. (Does not change repository; creates directory similar to working directories).
history Show reports on cvs commands that you or others have executed on a particular file or directory in the source repository. (Does not change repository or working directory.) History logs are kept only if enabled by creation of the $CVSROOT/CVSROOT/history file; see cvs(5).
import Incorporate a set of updates from off-site into the source repository, as a “vendor branch.” (Changes repository.)
log Display RCS log information. (Does not change repository or working directory.)
rdiff Prepare a collection of diffs as a patch file between two releases in the repository. (Does not change repository or working directory.)
release Cancel a cvs checkout, abandoning any changes. (Can delete working directory; no effect on repository.)
remove Remove files from the source repository, pending a cvs commit on the same files. (Does not directly affect repository; changes working directory.)
rtag Explicitly specify a symbolic tag for particular revisions of files in the source repository. See also cvs tag. (Changes repository directly; does not require or affect working directory.)
status Show current status of files: latest version, version in working directory, whether working version has been edited and, optionally, symbolic tags in the RCS file. (Does not change repository or working directory.)
tag Specify a symbolic tag for files in the repository. By default, tags the revisions that were last synchronized with your working directory. (Changes repository directly; uses working directory without changing it.)
update Bring your working directory up to date with changes from the repository. Merges are performed automatically when possible; a warning is issued if manual resolution is required for conflicting changes. (Changes working directory; does not change repository.)

Related Posts

UNIX/LINUX Command – rsync

UNIX/LINUX Command – rsync

NAME rsync – a fast, versatile, remote (and local) file-copying tool rsync Command SYNOPSIS Local: rsync [OPTION…] SRC… [DEST] Access via remote shell:Pull: rsync [OPTION…] [[email protected]]HOST:SRC… [DEST]Push: rsync [OPTION…] SRC… [[email protected]]HOST:DEST Access via rsync...

UNIX/LINUX Command – strip

UNIX/LINUX Command – strip

NAME strip—Discard symbols from object files. SYNOPSIS strip [ -Fbfdname|–target=bfdname ] [ -Ibfdname|–input-target=bfdname ] [ -Obfdname|–output-target=bfdname ] [-Rsectionname|–remove-section=sectionname ] [ -s|–strip-all ] [-S|-g|–strip-debug ][-x|–discard-all...

UNIX/LINUX Command – expand

UNIX/LINUX Command – expand

NAME expand—Convert tabs to spaces SYNOPSIS expand [–tab1[,tab2[,…]]] [–t tab1[,tab2[,…]]] [–i] [—tabs=tab1[,tab2[,…]]] [–initial] [–help] [–version] [file…] DESCRIPTION This manual page documents the GNU version of expand. expand writes the contents of each given...

UNIX/LINUX Command – uuencode

UNIX/LINUX Command – uuencode

NAME uuencode—Encode a binary fileuudecode—Decode a file created by uuencode SYNOPSIS uuencode [-m] [ file ] nameuudecode [-o outfile] [ file ]… DESCRIPTION uuencode and uudecode are used to transmit binary files over transmission mediums that do not support other...

Follow Us

Our Communities

The Ultimate Managed Hosting Platform
Load WordPress Sites in as fast as 37ms!



Submit a Comment

Your email address will not be published.

17 − thirteen =