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

FreeBSD Manual Pages

  
 
  

home | help
VCP(1)		      User Contributed Perl Documentation		VCP(1)

NAME
       vcp - Copy versions of files between repositories and/or	RevML

SYNOPSIS
	  # interactive	mode:

	  vcp [vcp_opts]

	  # scriptable command line mode:

	  vcp [vcp_opts] <source> <dest>

	  # getting options from a file:

	  vcp vcp:config.vcp

	  # help output:

	  vcp help
	  vcp help [topic]

DESCRIPTION
       "vcp" ('version copy') copies versions of files from one	repository to
       another,	translating as much metadata as	possible along the way.	 This
       allows you to copy and translate	files and their	histories between
       revision	storage	systems.

       Supported source	and destination	types are "cvs:", "p4:", and "revml:".

   Copying Versions
       The general syntax of the vcp command line is:

	  vcp [<vcp options>] <source> <dest>

       The three portions of the command line are:

       "<vcp options>"
	   Command line	options	that control the operation of the "vcp"
	   command, like "-d" for debugging or "-h" for	help.  There are very
	   few global options, these are covered below.	Note that they must
	   come	before the "<source>" specification.

       "<source>"
	   Were	to extract versions from, including any	command	line options
	   needed to control what is extracted and how.	 See the next section.

       "<dest>"
	   Where to insert versions, including any command line	options	needed
	   to control how files	are stored.  See the next section.

   Specifying Repositories
       The "<source>" and "<dest>" specifications specify a repository and
       provide any options needed for accessing	that repository.

       These spefications may be a simple filename for reading or writing
       RevML files (if the requisite XML handling modules are installed). or a
       full repository specification like "cvs:/home/cvs/root:module" or
       "p4:user:password@server:port://depot/dir".

       When using the long form	to access a repository,	"<source>" and
       "<dest>"	specification have several fields delimited by ":" and "@",
       and may have trailing command line options.  The	full (rarely used)
       syntax is:

	  scheme:user(view):password@repository:filespec [<options>]

       where

       "scheme:"
	   The repository type ("p4:", "cvs:", "revml:").

       "user", "view", and "password"
	   Optional values for authenticating with the repository and
	   identifying which view to use.  "cvs" does not use "view".  For
	   "p4", "view"	is the client setting (equibalent to setting
	   "P4CLIENT" or using "p4"'s "-c" option).

       "repository"
	   The repository spec,	CVSROOT	for CVS	or P4PORT for p4.

       "filespec"
	   Which versions of what files	to move.  As much as possible, this
	   spec	is similar to the native filespecs used	by the repository
	   indicated by	the scheme.

       "<options>"
	   Command line	options	that usually mimic the options provided	by the
	   underlying repositories' command line tools ("cvs", "p4", etc).

       Most of these fields are	omitted	in practice, only the "scheme" field
       is required, though (in most cases) the "repository" field is also
       needed unless you set the appropriate environment variables ("CVSROOT",
       "P4PORT", etc).

       The a bit confusing, here are some examples specs:

	  cvs:server:/foo
	  p4:user@server://depot/foo/...
	  p4:user:password@public.perforce.com:1666://depot/foo/...

       Options and formats for of individual schemes can be found in the
       relevant	help topics, for instance:

	  vcp help source::cvs

       Run "vcp	help" for a list of topics.

       When reading and	writing	RevML files, a simple filename will do
       (although the long form may also	be used).  The special value "-" means
       to read/write stdin and stdout when used	as a source or destination
       name, respectively.  "-"	is assumed if a	specification is not provided,
       so these	invocations all	accomplish the same thing, reading and writing
       RevML:

	  vcp
	  vcp -
	  vcp revml:-
	  vcp revml:
	  vcp -	-
	  vcp -	revml:-
	  vcp -	revml:
	  vcp revml:- revml:-
	  vcp revml: revml:

   "vcp" Options
       All general options to vcp must precede the "<source>".	Scheme-
       specific	options	must be	placed immediately after the "<source>"	or
       "<dest>"	spec and before	the next one.

       --debug,	-d
	   Enables logging of debugging	information.

       --help, -h, -?
	   These are all equivalent to "vcp help".

       --output-config-file=$filename
	   Write the settings (parsed from the UI, the command line, or	a
	   config file to a file.  Useful for capturing	settings or user
	   interface output.  Does not affect running.	Use "-"	to emit	to
	   STDOUT.

	   NOTE	1: This	does not emit an "Options:" section containing global
	   options (those listed here).	 Almost	all of these options are not
	   useful to emit; we can add an option	to force their emission	if
	   need	be.

	   NOTE	2: When	using the interactive user interface, this option
	   takes effect	after the last interactive portion and,	if vcp goes on
	   to run a conversion,	before any conversion is run.  This occurs in
	   addition to any configuration files the user	may ask	the
	   interactive interface to write.  This may change in the future (for
	   instance, if	the interactive	dialog includes	an option to extract
	   and analyze metadata).

       --dont-convert
	   Do not run a	conversion.  Useful when you just want to emit a .vcp
	   file.

       --versions
	   Emits the version numbers of	bundled	files.

       --terse,	-t
	   Suppress verbose explanations when running the interactive UI.  Has
	   no effect on	operation if all settings are read from	the command
	   line	or a .vcp file.

       --quiet,	-q
	   Suppresses the banner and progress bars.

   Getting help
       (See also Generating HTML Documentation,	below).

       There is	a slightly different command line format for requesting	help:

	  vcp help [<topic>]

       where "<topic>" is the optional name of a topic.	 "vcp help" without a
       "<"topic">" prints out a	list of	topics,	and "vcp help vcp" emits this
       page.

       All help	documents are also available as	Unix "man" pages and using the
       "perldoc" command, although the names are slightly different:

	  with vcp		 via perldoc
	  ================	 ===========
	  vcp help vcp		 perldoc vcp
	  vcp help source::cvs	 perldoc VCP::Source::cvs
	  vcp help source::cvs	 perldoc VCP::Dest::p4

       "vcp help" is case insensitive, "perldoc" and "man" may or may not be
       depending on your filesystem.  The "man"	commands look just like	the
       example "perldoc" commands except for the command name.	Both have the
       advantage that they use your system's configured	pager if possible.

   Environment Variables
       The environment is often	used to	set context for	the source and
       destination by way of variables like P4USER, P4CLIENT, CVSROOT, etc.

       VCPDEBUG
	   The VCPDEBUG	variable acts just like	"-d=$VCPDEBUG" was present on
	   the command line:

	      VCPDEBUG=1

	   (see	"--debug, -d" for more info).  This is useful when VCP is
	   embedded in another application, like a makefile or a test suite.

SEE ALSO
       VCP::Process, VCP::Newlines, VCP::Source::p4, VCP::Dest::p4,
       VCP::Source::cvs, VCP::Dest::cvs, VCP::Source::revml, VCP::Dest::revml,
       VCP::Newlines.  All are also available using "vcp help".

AUTHOR
       Barrie Slaymaker	<barries@slaysys.com>

COPYRIGHT
       Copyright (c) 2000, 2001, 2002 Perforce Software, Inc.  All rights
       reserved.

       See VCP::License	("vcp help license") for the terms of use.

perl v5.32.1			  2004-11-04				VCP(1)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=vcp&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help