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

FreeBSD Manual Pages

  
 
  

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

NAME
       cvsutils	- CVS utilities	for use	in working directories

SYNOPSIS
       cvsu [options]
       cvsco  [	options	]
       cvsdiscard  [ options ]
       cvspurge	 [ options ]
       cvstrim	[ options ]
       cvschroot  [ options ]
       cvsdo  [	options	]

DESCRIPTION
       The  idea  of  cvsutils	is to facilitate working with the files	in the
       working directory of a developer	using CVS  (Concurrent	Versions  Sys-
       tem).

       From  the  point	 of  view  of CVS, working directories have low	value,
       since they can easily be	recreated  using  the  cvs  checkout  command.
       Also  the  cvs  update  command will show the status of the files, i.e.
       whether they have been modified,	added or removed.

       CVS in it's current state is a client-server system that	does  most  of
       its  work  on the server	side. CVS provides only	few (if	any) means for
       managing	the working directory without communicating with the server.

       There are, however, several reasons why such means are necessary:

       *      There is enough information on the client	side  to  create  fast
	      tools for	sorting	and purging the	working	directory without con-
	      tacting the CVS server.

       *      Checking	out  a	big  module over a slow	line can take too much
	      time.

       *      There should be support for disconnected operations.

       *      CVS poses	certain	unnecessary restrictions on  read-only	users,
	      e.g.  cvs	add command doesn't work for them.

CVSU
       cvsu  is	 "cvs update offline". It lists	the files found	in the current
       directory (or in	the directories	which you specify). Following is taken
       into account:

       *      Attributes of the	file.

       *      Information about	the file in CVS/Entries.

       *      Timestamp	of the	file  compared	to  the	 timestamp  stored  in
	      CVS/Entries.

       Run  cvsu --help	to see supported command line options. The options can
       be abbreviated.	This functionality is provided by Perl,	and  can  vary
       from one	machine	to another.

CVSCO
       cvsco is	a "cruel checkout". In other words, it removes results of com-
       pilation	 and  discards	local changes. It deletes all the files	except
       listed unmodified ones and checks out  everything  which	 seems	to  be
       missing.	  Please  note,	 that cvsco doesn't update files which haven't
       been modified locally. It only reloads missing files and	files which it
       erases.

CVSDISCARD
       cvsdiscard is "discard my changes". In other words, it  discards	 local
       changes	but  keeps results of compilation. It works like cvsco,	but it
       only deletes files which	are likely to cause merge conflicts.

CVSPURGE
       cvspurge	leaves all files known to CVS, but removes the	rest.	Unlike
       cvsco,  it  doesn't  remove  local changes.  It is useful to test local
       changes in the otherwise	clean source tree.

CVSTRIM
       cvstrim removes files and directories unknown to	CVS. Files  listed  in
       .cvsignore  are	not  removed. The idea is to remove the	files that are
       not resulted from the normal build process -  backups,  coredumps  etc.
       cvstrim relies on .cvsignore files being	correct. Note that the backups
       for modified files are removed.

CVSCHROOT
       cvschroot makes it possible to change CVS/Root in all subdirectories to
       the  given  value. Currently the	only argument accepted is the new CVS-
       ROOT value.  Old-style CVS/Repository files that	contain	the full  path
       to  the	repository  are	 updated  to  reflect  the  change.  New-style
       CVS/Repository don't need to be changed.	If  the	 environment  variable
       CVSROOT	is  defined,  it  overrides the	contents of CVS/Root. In other
       words, it is treated as the old CVS root.

CVSDO
       cvsdo simulates some of the CVS commands	 (currently  add,  remove  and
       diff)  without  any access to the CVS server. Using cvsdo add and cvsdo
       remove allows you to create diffs with cvs diff -N, and all removed and
       added files will	appear in the diff correctly, as if you	had  used  cvs
       add and cvs remove respectively.

       cvsdo  diff tries to locate the backup copies of	the modified files. If
       they can	be found, they are compared with  the  current	version	 using
       diff.   Only  those  backup  copies are used that have the modification
       date equal the date listed in CVS/Entries for the modified file.	 cvsdo
       diff patches the	diff output to make it more robust to apply. An	excep-
       tion is made for	files named "ChangeLog"	- in this case	diff  will  be
       instructed  to omit all context lines, so that the patch	can be applied
       even if other changes have been written	to  the	 ChangeLog.  Also  the
       added  files  are  handled  properly.  The header of the	diff output is
       patched in such way that	at least GNU patch will	create a new file when
       the resulting patch is applied and remove that file when	the  patch  is
       reverted.

LICENCE
       cvsutils	is covered by the GNU General Public License (GPL).

SEE ALSO
       cvs(1), cvs2cl(1).

AUTHOR
       This  manual  page was written by Uwe Hermann <uwe@debian.org>, for the
       Debian GNU/Linux	system (but may	be used	by others).

			       February	27, 2002		   CVSUTILS(1)

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

home | help