Perforce Public Depot
The VCP/RevML Project

About This Project

Back to
Table of

Content Perl code and documentation for the vcp (Versioned Copy) tool and RevML (Revision Markup Language).

vcp is a tool for copying revision controlled files between various SCM repositories. For example, using vcp, it is possible to copy the contents of a entire Perforce depot (or part of one) into a depot on a different Perforce server or to copy the contents of a CVS repository into a Perforce server (or vice-versa).

vcp currently supports bidirectional exchanges between any two of:

  • RevML
  • CVS
  • Perforce
  • VSS (beta)

RevML is an XML language that represents file revisions, such as those managed by Perforce and other version control and configuration management systems. RevML provides a generic way to represent revisions, distinct from any particular version control or SCM tool's format. It forms the basis for other tools that operate on file revisions.

Curator The current curator for this project is Barrie Slaymaker. Please send email to if you would like to submit contributions or have questions.
The revml mailing list is used by contributors and users of RevML and vcp for a general discussion of the development and use of these tools.


Back to
Table of

vcp documentation is browsable as HTML via the Perforce repository.

In addition, please refer to the following files from the distribution for more information:

All of the documentation is embedded in files in bin/ and lib/... using POD (Plain Old Documentation). The vcp help command gives command-line access to all documentation, but lists user documentation by default. The vcp help dest_dir command can be used to build your own local copy of the documentation as HTML (this is what is used to generate the HTML documentation linked to above).

The VCP Distribution

Back to
Table of

VCP is primarily distributed as a single Perl file with most of the prerequisite modules built-in. This is available from: //public/revml/dist/

In order to modify VCP, you'll need a number of prerequisite modules installed and VCP itself. The most up to date (and possibly unreleased) files comprising the current distribution of VCP (which includes the DTD and support files for RevML) are available for direct browsing and downloading from the Perforce Public Depot at


VCP may be downloaded from the Public Depot using any Perforce client software

The easiest way to install VCP for hacking is to run Unix and use perl's

perl -MCPAN -e "install VCP"

This will track down all dependencies and install them. For working with the source on Windows, you'll need to install the ppms for XML::Parser and several other modules. Contact me for help with this.

Copyright ©
1998, 1999
Perforce Software
You're browsing a file stored as
$Id: //guest/perforce_software/revml/index.html#7 $
in the Perforce Public Depot.
Back to
Table of