Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CVS(1)			    General Commands Manual			CVS(1)

NAME
       cvs -- OpenCVS Concurrent Versioning System

SYNOPSIS
       cvs  [-flnQqRrtVvw]  [-d	 root]	[-e  editor]  [-s var=val] [-T tmpdir]
	   [-z level] command ...

DESCRIPTION
       The cvs program acts as both client and server for the use of  and  ad-
       ministration  of	a CVS source repository.  CVS is used to maintain ver-
       sion information	on files that are kept in a repository.	  Although  it
       is  more	 commonly  used	 to track changes in source code, there	are no
       real limitations	to the type of files that can be stored	in  a  reposi-
       tory.  For a general introduction to CVS, see cvsintro(7).

       cvs  reads its startup configuration file, .cvsrc, from the home	direc-
       tory of the user	who invoked it.	 This file is used to specify implicit
       options passed to cvs or	one of its commands whenever  it  is  invoked.
       The  defaults  in  the configuration file can be	overridden with	the -f
       option (see below).  See	cvs(5) for further information.

       cvs also	supports keyword substitution -	see the	rcs(1)	man  page  for
       more information.

       The following options are supported:

       -d root
	       Use  root  as the path to the root directory of the CVS reposi-
	       tory.  The value	must specify an	absolute path.

       -e editor
	       Use the program editor whenever editing log information.	  This
	       option  overrides  the environment variables CVSEDITOR, VISUAL,
	       and EDITOR.

       -f      Do not read the user's configuration file on startup.

       -l      Suppress	logging	of history information.

       -n      Dry-run mode.  Show which files will be used by the command is-
	       sued without really running it.

       -Q      Be extra	quiet.	Only error messages will be displayed.

       -q      Be quiet	about reporting.

       -R      Permit checkout from a read-only	repository.  Implies -l.   See
	       also CVSREADONLYFS, below.

       -r      Extract files in	read-only mode.

       -s var=val
	       Set the value of	the internal variable var to the string	val.

       -T tmpdir
	       Set  the	value of the directory where temporary files are to be
	       created.	 The default is	set to /tmp.   This  option  overrides
	       the TMPDIR environment variable.

       -t      Trace program execution.

       -V      Verbose mode.  All messages will	be displayed.  This is the de-
	       fault.	-V  and	-Q are mutually	exclusive.  If both are	speci-
	       fied, -Q	takes precedence.

       -v      Display version information and exit.

       -w      Extract new files in read-write mode.  Overrides	the setting of
	       the CVSREAD environment variable.  This is the  default	unless
	       CVSREAD is set or the -r	option is specified.

       -z level
	       Specify	the  compression  level	 to  gzip(1) when transferring
	       files.  The compression level ranges from 1 to 9, with 1	 being
	       the  fastest,  and  9  providing	the best level of compression.
	       The default is 6.

COMMANDS
       cvs supports the	following commands: add,  admin,  annotate,  checkout,
       commit,	diff,  edit,  editors, export, history,	import,	init, kserver,
       log, rannotate, rdiff, release, remove,	rlog,  rtag,  server,  status,
       tag,  unedit, update, version, watch, watchers.	The commands are fully
       explained in this section.

       Files may be selected by	revision or, where no revision	is  specified,
       the latest revision of the default branch is used.  Revisions are spec-
       ified either by using the -r option or by appending the revision	number
       to any option that supports it.

       cvs  supports the notion	of state.  The state is	an arbitrary string of
       characters used to describe a file (or a	specific revision of a	file).
       States  can  be set or changed using the	-s option, for CVS tools which
       support it.  The	state of a file/revision can be	modified without  hav-
       ing to commit a new file/revision.  The default state is	`Exp' (Experi-
       mental).	 Examples of states could be `Dev', `Reviewed',	or `Stab'.

   add
       Before a	file is	known to cvs, it must be added to the repository using
       this  command.  Adding a	file does not actually publish the contents of
       the file: the commit command must also be used to publish it  into  the
       repository, and thus let	others access the file.

       Note:  since directories	have no	versioning system, it is sufficient to
       add them	with the add command alone; the	commit command is  not	neces-
       sary.

	     usage: cvs	add [-k	mode] [-m msg] file ...

       The add command takes the following options:

	  -k mode
		  Specify the keyword substitution mode.

	  -m msg  Attach  log  message msg.  By	default, no log	message	is re-
		  quired.

       Aliases:	ad, new.

   admin
       The admin command is used to directly modify the	RCS files.

	     usage: cvs	admin [-Iq] [-b	branch]	[-k mode] [-m rev:msg]
			      [-N tag[:rev]] [-n tag[:rev]] [-o	rev]
			      [-s state[:rev]] [-t file	| str]

       The admin command takes the following options:

	  -b branch
		  Set the default branch to branch.

	  -I	  Command is interactive.

	  -k mode
		  Specify the keyword substitution mode.

	  -m rev:msg
		  Change the log message of a revision.

	  -N tag[:rev]
		  Same as -n, but override tag if it already exists.

	  -n tag[:rev]
		  Associate the	tag with the rev or the	branch given as	 argu-
		  ment.	  If  the revision or the branch is not	specified, the
		  tag is deleted.  The `:' character means the association  of
		  the  tag  and	 the latest revision of	the default branch.  A
		  branch number	ending with the	`.' character means  the  cur-
		  rent	latest	revision  in the branch.  This option is func-
		  tionally the same as the rtag	command,  but  it  avoids  the
		  check	of the tags done with the CVSROOT/taginfo file.

	  -o rev  Delete  one  or  more	 revisions.  The specifications	of the
		  values or revisions are as follows:

		  rev	  Specific revision.

		  rev1:rev2
			  Delete all revisions of a branch  between  rev1  and
			  rev2.

		  rev1::rev2
			  Delete  all  revisions  of a branch between rev1 and
			  rev2 without deleting	revisions rev1 and rev2.

		  :rev	  Delete all revisions of the  branch  until  revision
			  rev.

		  rev:	  Delete all revisions of the branch from revision rev
			  until	the last revision of the branch.

	  -q	  Quiet	mode.

	  -s state[:rev]
		  Change state of a revision.

	  -t file | str
		  Change  the descriptive text.	 The descriptive text is taken
		  from the file	specified as argument or from the  string  str
		  given	 as  argument  if it is	preceded by the	`-' character.
		  If no	argument is used, the descriptive text is  taken  from
		  standard input.

       Aliases:	adm, rcs.

   annotate
       For  each  line of any files specified, show information	about its last
       revision.  The information given	is the last revision when a  modifica-
       tion occurred, the author's name, and the date of the revision.

	     usage: cvs	annotate [-flR]	[-D date | -r rev] [file ...]

       The annotate command takes the following	options:

	  -D date
		  Show the annotations as of the latest	revision no later than
		  date.

	  -f	  Force	 the  use of the head revision if the specified	tag or
		  date is not found.  This can be used in combination with  -D
		  or  -r to ensure that	there is some output from the annotate
		  command, even	if only	to show	Revision 1.1 of	the file.

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Show	annotations as of revision rev (can be a revision num-
		  ber or a tag).

       Aliases:	ann, blame.

   checkout
       The checkout command is used to create a	local copy of one or more mod-
       ules present on the target CVS repository.

	     usage: cvs	checkout [-AcflNnPpRs] [-d dir]	[-j rev] [-k mode]
				 -D date | -r rev module ...

       The checkout command takes the following	options:

	  -A	  Reset	any sticky tags, dates,	or keyword substitution	 modes
		  that have been set on	the tree.

	  -c	  Display the list of available	modules.

	  -D date
		  Check	 out as	of the latest revision no later	than date (im-
		  plies	-P) (is	sticky).

	  -d dir  Check	out in directory dir instead of	the directory  bearing
		  the same name	as the module.

	  -f	  Force	 the  use of the head revision if the specified	tag or
		  date is not found.

	  -j rev  Merge	in changes made	between	current	revision and rev.   If
		  two -j options are specified,	only merge the differences be-
		  tween	 the two revisions of the branch.  This	allows succes-
		  sive merges without having to	resolve	already	resolved  con-
		  flicts again.

	  -k mode
		  Specify the keyword substitution mode	(is sticky).

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -N	  If used in conjunction with the -d option, files are	placed
		  in local directory module, located in	directory dir.

	  -n	  Do not execute programs listed in the	CVSROOT/modules	file.

	  -P	  Prune	empty directories.

	  -p	  Check	out files to standard output (avoids stickiness).

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Check	 out from a particular revision	or branch (implies -P)
		  (is sticky).

	  -s	  Like -c, but include module status.

       Aliases:	co, get.

   commit
       The commit command is used to send local	changes	back to	the server and
       update the repository's information to reflect the changes.

	     usage: cvs	commit [-flnR] [-F logfile | -m	msg] [-r rev] [file ...]

       The commit command takes	the following options:

	  -F logfile
		  Specify a file which contains	the log	message.

	  -f	  Force	a file to be committed,	even though it is unchanged.

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -m msg  Specify  a  log  message on the command line (suppresses the
		  editor invocation).

	  -n	  Do not execute programs listed in the	CVSROOT/modules	file.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Commit to a particular symbolic or numerical revision.

       Aliases:	ci, com.

   diff
       The diff	command	is very	similar	to the diff(1)	program,  except  that
       the differential	comparisons that it generates are between local	or re-
       mote revisions of files stored in the CVS repository.

	     usage: cvs	diff [-abcdilNnpRuw]
			     [[-D date1	| -r rev1] [-D date2 | -r rev2]]
			     [-k mode] [file ...]

       The diff	command	takes the following options:

	  -a	  Treat	 all files as ASCII text.  See diff(1) for more	infor-
		  mation.

	  -b	  Causes trailing blanks (spaces and tabs) to be ignored,  and
		  other	strings	of blanks to compare equal.

	  -c	  Produces  a  diff  with three	lines of context.  See diff(1)
		  for more information.

	  -D date1 [-D date2]
		  Differences between the revision at date1  and  the  working
		  copy or date1	and date2 (if specified).

	  -d	  Try  very  hard to produce a diff as small as	possible.  See
		  diff(1) for more information.

	  -i	  Ignore the case of letters.  For example, `A'	 will  compare
		  equal	to `a'.

	  -k mode
		  Specify the keyword substitution mode.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -N	  Include added	or removed files.

	  -n	  Produces  a  diff  in	 the  same  format  as	that  used  by
		  rcsdiff(1),  with a count of changed lines on	each insert or
		  delete command.

	  -p	  With unified and context diffs, show with  each  change  the
		  first	 40 characters of the last line	before the context be-
		  ginning with a letter, an underscore or a dollar sign.   See
		  diff(1) for more information.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev1 [-r rev2]
		  Differences  between	revision  rev1 and the working copy or
		  rev1 and rev2	(if specified).

	  -t	  Will expand tabs in output lines.  Normal or -c output  adds
		  character(s)	to  the	 front of each line which may screw up
		  the indentation of the original source lines	and  make  the
		  output  listing  difficult  to  interpret.  This option will
		  preserve the original	source's indentation.

	  -u	  Produces a unified diff with three lines  of	context.   See
		  diff(1) for more information.

	  -w	  Is  similar to -b but	causes whitespace (blanks and tabs) to
		  be totally ignored.  For example, "if	( a == b )" will  com-
		  pare equal to	"if(a==b)".

       Aliases:	di, dif.

   edit
       The  edit  command  is  used  to	make a file that is being watched (and
       therefore read-only) readable and writable and to inform	others that it
       is in the process of being changed.  Notifications terminate  when  the
       commit  command	is issued.  Editing rights on the file can be given up
       using the unedit	command, which terminates the temporary	notifications.

	     usage: cvs	edit [-lR] [-a action] [file ...]

       The edit	command	takes the following options:

	  -a action
		  Specify the temporary	notification wanted:

		  commit  Another user has committed changes to	the file.
		  edit	  Another user has issued  the	edit  command  on  the
			  file.
		  unedit  Another  user	 has  issued the unedit	command	on the
			  file.
		  all	  All of the above.
		  none	  None of the above.

		  The -a flag may appear more than once, or not	 at  all.   If
		  omitted, the action defaults to all.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

   editors
       The editors command lists the users with	edition	rights on a file.  For
       that, pseudo-lock mode must be enabled (see the	watch  command).   The
       email address of	the user editing the file, the timestamp when the edi-
       tion  first started, the	host from where	the edition has	been requested
       and the path to the edited file are listed.

	     usage: cvs	editors	[-lR] [file ...]

       The editors command takes the following options:

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

   export
       The  export command extracts a copy of module without including the di-
       rectories used for management by	cvs.  This eases production of a soft-
       ware release.  A	date or	a revision must	be specified for  the  command
       to  be  valid,  which  ensures that later extractions can be reproduced
       with the	same options as	the release.

       The checked out module's	files will be placed in	 a  directory  bearing
       the same	name as	the checked out	module,	by default.

	     usage: cvs	export [-flNnR]	[-d dir] [-k mode]
			       -D date | -r rev	module ...

       The export command takes	the following options:

	  -D date
		  Export as of the latest revision no later than date.

	  -d dir  Export in directory dir instead of the directory bearing the
		  same name as the module.

	  -f	  Force	 the  use of the head revision if the specified	tag or
		  date is not found.  This can be used in combination with  -D
		  or -r	to ensure that the export command is valid.

	  -k mode
		  Specify  the	keyword	 substitution mode: the	-k v option is
		  often	used to	avoid substitution of keywords	during	a  re-
		  lease	 cycle.	  However, be aware that it does not handle an
		  export containing binary files correctly.

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -N	  If  used in conjunction with the -d option, files are	placed
		  in local directory module, located in	directory dir.

	  -n	  Do not execute programs listed in the	CVSROOT/modules	file.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Export from a	particular symbolic or numerical revision.

       Aliases:	ex, exp.

   history
       The history command is used to display the history of actions  done  in
       the  base  repository.	This  functionality  is	 only available	if the
       CVSROOT/history file has	been  created.	 Only  the  checkout,  commit,
       export, release,	rtag, and update commands are logged into this file.

	     usage: cvs	history	[-aceloTw] [-b str] [-D	date] [-f file]
				[-m module] [-n	module]	[-p path] [-r rev]
				[-t tag] [-u user] [-x ACEFGMORTUW] [-z	tz]
				[file ...]

       The history command takes the following options:

	  -a	  Display  records  for	 all  users.  By default, only records
		  from the user	issuing	the history command are	displayed.

	  -b str  Display everything back to a record  containing  the	string
		  str in either	the module name, the file name,	or the reposi-
		  tory path.

	  -c	  Display the archived files (commit command).

	  -D date
		  Report no later than date.

	  -e	  Select all records (same as -x with all types).

	  -f file
		  Display records related to file.

	  -l	  Show last checkouts of modules with the checkout command.

	  -m module
		  Look for the module (can be used several times).

	  -n module
		  Search into the module.

	  -o	  Report on modules checked out	by users.

	  -p path
		  Display records from the base	repository being in the	direc-
		  tory specified by the	path.

	  -r rev  Report for a particular revision (checks in the RCS file).

	  -T	  Report on all	tags.

	  -t tag  Report  since	 tag record placed in the CVSROOT/history file
		  by any user.

	  -u user
		  Report for a specified user.	Can be used several  times  to
		  match	many users.

	  -w	  Check	that records match the current working directory.

	  -x ACEFGMORTUW
		  Extract by a specific	record type specified by a single let-
		  ter.	 They can be used in combination.  The available types
		  are as follows:

		  A	  A file has been added	with the add command.

		  C	  A merge has  been  done,  but	 unresolved  conflicts
			  still	remain.

		  E	  Export.

		  F	  Release.

		  G	  A merge has been done	without	conflict.

		  M	  A file has been modified (using the commit command).

		  O	  Checkout.

		  R	  A file has been removed with the remove command.

		  T	  Rtag.

		  U	  Normal update.

		  W	  The file has been deleted from the directory because
			  it does not exist anymore in the base	repository.

	  -z tz	  Display records with the time	synchronized with timezone tz.

       All records have	the following five first columns:

       -   The record type (the	-x option).
       -   The date of the action.
       -   The time of the action.
       -   The time zone.
       -   The user who	made the action.

       The other columns vary depending	on the command issued:

       For records coming from the rtag	command, the additional	columns	are as
       follows:

	     <module> [<tag>:<argument>] {<working directory>}

       For  records  coming  from  the checkout	and export commands, the addi-
       tional columns are as follows:

	     <request> <repository> =<module>= <working	directory>

       For records coming from the release command, the	additional columns are
       as follows:

	     =<module>=	<working directory>

       For records coming from the commit and update commands, the  additional
       columns are as follows:

	     <version> <file> <module> == <working directory>

       Aliases:	hi, his.

   import
       Import sources into CVS using vendor branches.

       At least	three arguments	are required: module specifies the location of
       the  sources  to	be imported; vendortag is a tag	for the	entire branch;
       releasetag is used to identify the files	created	with cvs import.

	     usage: cvs	import [-d] [-b	branch]	[-I ign] [-k mode] [-m msg]
			       [-W spec] module	vendortag releasetag

       The import command takes	the following options:

	  -b branch
		  Specify the first-level branch number.

	  -d	  Use the file's last modification time	as the	timestamp  for
		  the initial revisions.

	  -I ign  Ignore files specified by ign.  This option can be used sev-
		  eral	times  on the command line.  To	see all	files, use the
		  -I ! specification.

	  -k mode
		  Specify the keyword substitution mode	(is sticky).

	  -m msg  Specify the log message to send.

	  -W spec
		  Wrappers specification line.

       Aliases:	im, imp.

   init
       Create a	CVS repository if it doesn't exist.

   kserver
       Start a Kerberos	authentication server.

   log
       The log command displays	information on a file such  as	its  different
       revisions, description, different tags, as well as the comments,	dates,
       and  authors  of	these revisions.  By default, the log command displays
       all the available information; the options are only  used  to  restrict
       the displayed information.

	     usage: cvs	log [-bhlNRt] [-d dates] [-r revs] [-s state]
			    [-w	users] [file ...]

       The log command takes the following options:

	  -b	  List revisions of the	default	branch only.

	  -d dates
		  Specify  revisions  with  dates  matching the	specification.
		  The specification might be as	follows:

		  date1<date2 or date2>date1
			  Select all revisions between date1 and date2.

		  <date	or date>
			  Select all revisions before date.

		  >date	or date<
			  Select all revisions after date.

		  date	  Select the latest revision before or equal to	date.

		  The `>' and `<' characters can be followed by	the `='	 char-
		  acter	to imply an inclusive specification.  Several specifi-
		  cations  can be used by separating them with the `;' charac-
		  ter.

	  -h	  Print	header only.

	  -l	  Limit	the scope of the search	to the local directory only.

	  -N	  Do not list tags.

	  -R	  Print	name of	RCS file only.

	  -r revs
		  Specify revision(s) to list:

		  rev1,rev2,...
			  A list of revisions is specified by separating names
			  or numbers of	revisions by the `,' character.

		  rev1:rev2
			  List all revisions between rev1 and rev2 (they  must
			  be on	the same branch).

		  :rev	  List all revisions since the beginning of the	branch
			  until	rev included.

		  rev:	  List all revisions of	the branch beginning with rev.

		  branch  List all revisions of	a branch.

		  branch.
			  List the latest revision of the branch branch.

		  branch1:branch2
			  List	all  revisions of branches between branch1 and
			  branch2.

		  Without argument, the	-r option means	the latest revision of
		  the default branch.

	  -s state
		  List revisions of the	specified state	only.  Several	states
		  can be listed	by separating them with	the `,'	character.

	  -t	  Print	header and description only.

	  -w users
		  Do  not  list	 revisions made	by specified users.  Usernames
		  should be separated by the `,' character.

       Aliases:	lo.

   rannotate
       For each	line of	any files specified, show information about  its  last
       revision.   The information given is the	last revision when a modifica-
       tion occurred, the author's name, and the date of the  revision.	  This
       command does not	need a local checkout of the repository	to work.

	     usage: cvs	rannotate [-flR] [-D date | -r rev] module ...

       The rannotate command takes the following options:

	  -D date
		  Show the annotations as of the latest	revision no later than
		  date.

	  -f	  Force	 the  use of the head revision if the specified	tag or
		  date is not found.  This can be used in combination with  -D
		  or -r	to ensure that there is	some output from the rannotate
		  command, even	if only	to show	Revision 1.1 of	the file.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Show annotations as of revision rev (can be a	revision  num-
		  ber or a tag).

       Aliases:	rann, ra.

   rdiff
       The rdiff command lists differences between two revisions in a patch(1)
       compatible  format.  This command does not need a local checkout	of the
       repository to work.

	     usage: cvs	rdiff [-flR] [-c | -u] [-s | -t] [-V ver]
			      -D date |	-r rev [-D date2 | -r rev2]
			      module ...

       The rdiff command takes the following options:

	  -c	  Produces a diff with three lines of  context.	  See  diff(1)
		  for more information.	 This is the default.

	  -D date [-D date2]
		  Differences  between	the  revision  at date and the working
		  copy or date and date2 (if specified).

	  -f	  Force	the use	of the head revision if	the specified date  or
		  revision is not found.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev [-r rev2]
		  Differences between revision rev and the working copy	or rev
		  and rev2 (if specified).

	  -s	  Create a summary change instead of a whole patch.

	  -t	  Lists	differences between the	last  two  revisions  of  each
		  file.

	  -u	  Produces a diff in unidiff format.

	  -V ver  Use the RCS version ver for keyword substitution.

       Aliases:	pa, patch.

   release
       The  release command indicates to cvs that the working copy of a	module
       is no longer in use and checks that non archived	modifications  in  the
       base repository do exist.  This command is not mandatory.  Local	direc-
       tories  could  always be	removed	without	using it, but in this case the
       handling	of history information will no	longer	be  correct  (see  the
       history command).

	     usage: cvs	release	[-d] dir ...

       The release command takes the following options:

	  -d dir  Remove  the  directory  dir.	 Be  aware  that  this	option
		  silently removes any directories that	have been added	to the
		  local	working	copy without using the add command.

       For each	file not being synchronized with the base repository, a	single
       letter prefix is	given to specify the state of the file.	 The  possible
       prefixes	are as follows:

       ?       The  file  is unknown to	cvs and	is not in the list of files to
	       ignore.	Any new	directories which have not been	added with the
	       add command are silently	ignored	as well	as their content.

       A       The file	has been added with the	add command, but has not  been
	       committed to the	repository with	the commit command.

       M       The file	has been locally modified; a more recent version might
	       exist in	the base repository.

       R       The  file has been removed with the remove command, but has not
	       been committed to the repository	with the commit	command.

       U       A more recent version of	the file does exist but	it is not  lo-
	       cally up	to date.

       Aliases:	re, rel.

   remove
       The  remove  command is used to inform cvs that file is scheduled to be
       removed from the	repository.  Files are not actually removed  from  the
       repository until	the commit command has been run	subsequently.

       There  is  no  way  to remove a directory with the remove command.  cvs
       will only remove	a directory if it is empty  and	 if  the  checkout  or
       update commands are run with the	-P option.  (Note that the export com-
       mand always removes empty directories.)

	     usage: cvs	remove [-flR] [file ...]

       The remove command takes	the following options:

	  -f	  Force	 local	file  removal.	 If this flag is not used, the
		  file must be locally removed beforehand for the  command  to
		  be valid.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

       Aliases:	rm, delete.

   rlog
       The rlog	command	displays information on	a file such as	its  different
       revisions, description, different tags, as well as the comments,	dates,
       and  authors of these revisions.	 By default, the rlog command displays
       all the available information; the options are only  used  to  restrict
       the displayed information.  This	command	does not need a	local checkout
       of the repository to work.

	     usage: cvs	rlog [-bhlNRt] [-d dates] [-r revs] [-s	state]
			    [-w	users] module ...

       The rlog	command	takes the following options:

	  -b	  List revisions of the	default	branch only.

	  -d dates
		  Specify  revisions  with  dates  matching the	specification.
		  The specification might be as	follows:

		  date1<date2 or date2>date1
			  Select all revisions between date1 and date2.

		  <date	or date>
			  Select all revisions before date.

		  >date	or date<
			  Select all revisions after date.

		  date	  Select the latest revision before or equal to	date.

		  The `>' and `<' characters can be followed by	the `='	 char-
		  acter	to imply an inclusive specification.  Several specifi-
		  cations  can be used by separating them with the `;' charac-
		  ter.

	  -h	  Print	header only.

	  -l	  Limit	the scope of the search	to the local directory only.

	  -N	  Do not list tags.

	  -R	  Print	name of	RCS file only.

	  -r revs
		  Specify revision(s) to list:

		  rev1,rev2,...
			  A list of revisions is specified by separating names
			  or numbers of	revisions by the `,' character.

		  rev1:rev2
			  List all revisions between rev1 and rev2 (they  must
			  be on	the same branch).

		  :rev	  List all revisions since the beginning of the	branch
			  until	rev included.

		  rev:	  List all revisions of	the branch beginning with rev.

		  branch  List all revisions of	a branch.

		  branch.
			  List the latest revision of the branch branch.

		  branch1:branch2
			  List	all  revisions of branches between branch1 and
			  branch2.

		  Without argument, the	-r option means	the latest revision of
		  the default branch.

	  -s state
		  List revisions of the	specified state	only.  Several	states
		  can be listed	by separating them with	the `,'	character.

	  -t	  Print	header and description only.

	  -w users
		  Do  not  list	 revisions made	by specified users.  Usernames
		  should be separated by the `,' character.

       Aliases:	rlo.

   rtag
       The rtag	command	adds a symbolic	tag to one or more modules.  It	is of-
       ten used	to create a new	branch using the -b option.

	     usage: cvs	rtag [-abdFflnR] [-D date | -r rev]
			     symbolic_tag module ...

       The rtag	command	takes the following options:

	  -a	  Clear	tag from files already removed with  the  remove  com-
		  mand.

	  -b	  Create a branch.

	  -D date
		  Tag the most recent revision before date.

	  -d	  Delete tag.

	  -F	  Move	tag  if	it already exists.  If this option is not used
		  and a	tag is used a second time, cvs will  not  execute  the
		  action.

	  -f	  Force	the use	of the head revision if	the specified revision
		  or date is not found.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -n	  Do not execute programs listed in the	CVSROOT/modules	file.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Tag at revision rev.

       Aliases:	rt, rfreeze.

   server
       Server mode.

   status
       The status command is used to display the state of checked out files.

	     usage: cvs	status [-lRv] [file ...]

       The status command takes	the following options:

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

	  -v	  Display symbolic tags	for file.

		  The state may	be one of the following:

		  Locally Added
			  The  file  has  been added with the add command, but
			  has not been committed to the	 repository  with  the
			  commit command.

		  Locally Modified
			  The  file  is	up to date, but	has been locally modi-
			  fied.

		  Locally Removed
			  The file has been removed with the  remove  command,
			  but  has  not	 been committed	to the repository with
			  the commit command.

		  Needs	Checkout
			  The file has not been	modified;  a  new  version  is
			  available.

		  Needs	Merge
			  The  file  has  been modified	and a newer version is
			  available.

		  Needs	Patch
			  Same as Needs	Checkout but, in  client-server	 mode,
			  only	the  differences  are sent to save network re-
			  sources.

		  Unresolved Conflict
			  A merge has  been  done,  but	 unresolved  conflicts
			  still	remain.

		  Up-to-date
			  The file is up to date.

       Aliases:	st, stat.

   tag
       The  tag	command	adds a symbolic	tag to a checked out version of	one or
       more files.

	     usage: cvs	tag [-bcdFflR] [-D date	| -r rev] [symbolic_tag]
			    [file ...]

       The tag command takes the following options:

	  -b	  Create a branch.

	  -c	  Check	that working files are not modified.

	  -D date
		  Tag the most recent revision before date.

	  -d	  Delete tag.

	  -F	  Move tag if it already exists.  If this option is  not  used
		  and  a  tag  is used a second	time, cvs will not execute the
		  action.

	  -f	  Force	the use	of the head revision if	the specified revision
		  or date is not found.

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Tag at revision rev.

       Aliases:	ta, freeze.

   unedit
       The  unedit  command  is	 used to give up an edition on a file and thus
       cancel the wanted temporary notifications.  If the file has been	 modi-
       fied  since the edit command has	been issued, cvs will ask if it	should
       go back to the previous version,	and lose the modifications done	on the
       file, or	stay in	edition	mode on	it.

	     usage: cvs	unedit [-lR] [file ...]

       The unedit command takes	the following options:

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

   update
       The  update  command  is	used to	merge any of the changes that have oc-
       curred on the remote repository into the	local one  where  the  command
       was run.

	     usage: cvs	update [-ACdflPpR] [-D date | -r rev] [-I ign]
			       [-j rev]	[-k mode] [-W spec] [file ...]

       The update command takes	the following options:

	  -A	  Reset	 any sticky tags, dates, or keyword substitution modes
		  that have been set on	the tree.

	  -C	  Overwrite  locally  modified	files  with  clean  repository
		  copies.

	  -D date
		  Update  as  of  the  latest  revision	no later than date (is
		  sticky).

	  -d	  Create any new directories.  Without this option,  cvs  does
		  not  create  any  new	files sitting in these new directories
		  added	in the base repository since the last  update  of  the
		  working copy,	or since the last update with the -d option.

	  -f	  Force	 the  use of the head revision if the specified	tag or
		  date is not found.

	  -I ign  Ignore files specified by ign.  This option can be used sev-
		  eral times on	the command line.  To see all files,  use  the
		  -I ! specification.

	  -j rev  Merge	 in changes made between current revision and rev.  If
		  two -j options are specified,	only merge the differences be-
		  tween	the two	revisions of the branch.  This allows  succes-
		  sive	merges without having to resolve already resolved con-
		  flicts again.

	  -k mode
		  Specify the keyword substitution mode	(is sticky).

	  -l	  Limit	the scope of the search	to the	local  directory  only
		  and disable recursive	behaviour.

	  -P	  Prune	 any directories that have become empty	as a result of
		  the update.

	  -p	  Send the result of the update	 to  standard  output  (avoids
		  stickiness).

	  -R	  Enable recursive behaviour.  This is the default.

	  -r rev  Update from a	particular revision or branch (is sticky).

	  -W spec
		  Wrappers specification line.

       By  default, the	update command does not	create new directories;	the -d
       option must be used for that.

       For each	file updated, a	single letter prefix is	given to  specify  the
       state of	the file.  The possible	prefixes are as	follows:

       ?       The file	is unknown to cvs.

       A       The  file has been added	with the add command, but has not been
	       committed to the	repository with	the commit command.

       C       A merge,	with a more recent version of the file,	has been done,
	       but unresolved conflicts	still remain.

       M       The file	has been locally modified; if a	more recent version is
	       available, the merge has	been done without conflict.

       P       The same	as `U',	but, in	client-server mode,  only  differences
	       are sent	to save	network	resources.

       R       The  file has been removed with the remove command, but has not
	       been committed to the repository	with the commit	command.

       U       The file	is up to date.

       Aliases:	up, upd.

   version
       Causes cvs to print its version information.  If	this command is	issued
       within a	local copy of a	remote repository or if	either the CVSROOT en-
       vironment variable or the -d flag specify a remote repository, cvs will
       also connect to the server and ask it to	print its version information.

       Aliases:	ve, ver.

   watch
       The watch command switches a file from normal mode to pseudo-lock  mode
       as  well	as handling the	notifications associated with it.  Pseudo-lock
       mode means knowing who is editing a file: for that,  cvs	 extracts  the
       file  in	 read-only  mode.   Users must use the edit command to get the
       editing rights on the file.

       One of the following arguments to the watch command is  mandatory:  on,
       off,  add,  or remove.  on switches the file into pseudo-lock mode; off
       switches	it back	to normal mode;	add adds  notifications	 for  specific
       actions on the file; remove removes those notifications.

       The  notifications are permanent.  They remain in place until the watch
       remove command is issued	while the  temporary  notifications  are  made
       available with the edit command.

	     usage: cvs	watch on | off | add | remove [-lR] [-a	action]
			      [file ...]

       The watch command takes the following options:

	  -a action
		  Specify the permanent	notification wanted for	add | remove:

		  commit  Another user has committed changes to	the file.
		  edit	  Another user is editing the file.
		  unedit  Another user has finished editing the	file.
		  all	  All of the above.
		  none	  No notification.

		  If no	specification is requested using the add or remove ar-
		  guments, it implies the -a all option.

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

   watchers
       The watchers command lists the users who	 asked	for  notifications  as
       well  as	 the  notification details.  The possible notifications	are as
       follows:

       commit  Permanent watch of a commit of a	new version of a file.

       edit    Permanent watch of the start of file edition.

       tcommit
	       Temporary watch of a commit of new version of a file.

       tedit   Temporary watch of the start of file edition.

       tunedit
	       Temporary watch of the end of file edition.

       unedit  Permanent watch of the end of file edition.

       The temporary watches are set using the edit command, until the	commit
       or unedit command is issued on a	file.

	     usage: cvs	watchers [-lR] [file ...]

       The watchers command takes the following	options:

	  -l	  Limit	 the  scope  of	the search to the local	directory only
		  and disable recursive	behaviour.

	  -R	  Enable recursive behaviour.  This is the default.

ENVIRONMENT
       CVS_CLIENT_LOG
	       This variable enables logging of	all communications between the
	       client and server when running in non-local mode.  If set, this
	       environment variable must contain a base	path  from  which  two
	       paths will be generated by appending ".in" to the value for the
	       server's	input and ".out" for the server's output.

	       The path	can contain the	following substitutes:

		     %c	     the command being run
		     %d	     the date
		     %p	     the process ID
		     %u	     the username of the person	running	it

	       The substitutes are only	supported by OpenCVS.

       CVS_RSH
	       Name  of	 the  program  to  use	when  connecting to the	server
	       through a remote	shell.	The default is to use the ssh(1)  pro-
	       gram.

       CVS_SERVER
	       If set, gives the name of the program to	invoke as a cvs	server
	       when using remote shell.	 The default is	to use `cvs'.

       CVSEDITOR
	       Name  of	 the  editor  to  use  when  editing  commit messages.
	       Checked before EDITOR and VISUAL.

       CVSREAD
	       If set, cvs extracts files in read-only mode.

       CVSREADONLYFS
	       Permit checkout from a read-only	repository.  Implies -l.   See
	       also -R,	above.

       CVSROOT
	       When  set,  this	variable should	contain	the string pointing to
	       the root	directory of the CVS repository.  The contents of this
	       variable	are ignored when the -d	option is given	or  if	`Root'
	       files exist in the checked-out copy.

       EDITOR  Name  of	 the editor to use when	editing	commit messages.  This
	       is traditionally	a line-oriented	editor,	such as	ex(1).

       HOME    Directory where the .cvsignore and .cvsrc  files	 are  searched
	       for.

       TMPDIR  When set, this variable specifies the directory where temporary
	       files are to be created.	 The default is	set to /tmp.

       VISUAL  Name  of	 the editor to use when	editing	commit messages.  This
	       is traditionally	a screen-oriented editor, such as vi(1).

EXIT STATUS
       The cvs utility exits 0 on success, and >0 if an	error occurs.

SEE ALSO
       diff(1),	gzip(1), patch(1), rcs(1), cvs(5), cvsintro(7)

STANDARDS
       The flag	[-x] has no effect and is provided for compatibility only.

HISTORY
       The OpenCVS project is a	BSD-licensed rewrite of	the  original  Concur-
       rent  Versioning	System written by Jean-Francois	Brousseau.  The	origi-
       nal CVS code was	written	in large parts by Dick Grune,  Brian  Berliner
       and Jeff	Polk.

AUTHORS
       Jean-Francois Brousseau
       Vincent Labrecque
       Joris Vink
       Xavier Santolaria

CAVEATS
       This  CVS implementation	does not fully conform to the GNU CVS version.
       In some cases, this was done explicitly because GNU CVS	has  inconsis-
       tencies or ambiguous behaviour.	Some things have also been left	out or
       modified	to enhance the overall security	of the system.

       Among  other  things,  support for the pserver connection mechanism has
       been dropped because of security	issues with the	authentication	mecha-
       nism.

FreeBSD	ports 15.0	       December	24, 2015			CVS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=opencvs&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help