<!DOCTYPE html><html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>What is p4convert for? // P4Convert: User Guide</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1 with Perforce customizations" />
<link rel="home" href="copyright.html" title="P4Convert: User Guide" />
<link rel="up" href="copyright.html" title="P4Convert: User Guide" />
<link rel="prev" href="copyright.html" title="P4Convert: User Guide" />
<link rel="next" href="chapter.setup.html" title="Setup" />
<meta name="Section-title" content="What is p4convert for?" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="vendor/bootstrap/css/bootstrap.css" />
<link rel="stylesheet" href="vendor/prettify/prettify.css" />
<link rel="stylesheet" href="css/perforce.css" />
<link rel="stylesheet" href="css/print.css" media="print" />
<link rel="shortcut icon" href="images/favicon.ico" />
<!--[if lt IE 9]>
<script type="text/javascript" src="vendor/respond/respond.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/ie.css"/>
<![endif]-->
</head>
<body><a id="page-top"></a><noscript>
<div id="noscript">JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.</div>
</noscript>
<div id="header"><button name="toc" type="button" class="toc"><span class="glyphicon glyphicon-list"></span></button><span class="logo"><a href="http://www.perforce.com/documentation"></a></span><h1><a href="index.html" class="title"><span class="brand"></span><span class="guide-title">P4Convert: User Guide</span><span class="guide-subtitle">
(April 2015)
</span></a></h1><button name="search" type="button" class="search"><span class="glyphicon glyphicon-search"></span></button></div>
<div id="content" class="content" tabindex="-1">
<div class="container">
<!---->
<div class="preface" id="about">
<div class="titlepage">
<div>
<div>
<h1 class="title">What is p4convert for?</h1>
</div>
</div>
</div>
<p>
The p4convert conversion tool imports data from Subversion or CVS and
reconstructs the file revision history in Perforce. For CVS the data is
read from the CVSROOT and for Subversion data is read from a dump file.
Data is added to Perforce in one of two ways:
</p>
<div class="section" id="about.import_mode">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">Import Mode (front door)</h2>
</div>
</div>
</div>
<p>
Revisions are imported into a running Perforce Server. The Perforce
Server could be new or contain existing data, but it must be running.
Subversion revisions are added sequentially; file content is 'imported'
and metadata such as file attributes, descriptions, dates and usernames
are added to the Perforce changelist. CVS data is sorted into
changeslists, based on available metadata such as date/time, author,
change descriptions and file actions.
</p>
<p>
The recommended use of Import Mode is to start a new Perforce server to
import each set of changes into a Perforce changelist. Using this
method will produce a one-to-one mapping of Subversion revision numbers
to Perforce changelists and a reproducible set of CVS changes. The new
Perforce server can be used in isolation to confirm the success of the
migration and then merged with an existing Perforce Server using the
<span class="application">PerfMerge++</span> tool.
</p>
</div>
<div class="section" id="about.convert_mode">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">Convert Mode (back door)</h2>
</div>
</div>
</div>
<p>
Revisions are converted in full, creating a Perforce journal and set
of archive files. Once replayed, the resulting conversion is just as if
the changes had always been in Perforce. The results can be merged into
an existing Perforce Server using the
<span class="application">PerfMerge++</span> tool. The Import Mode is
considered to be the safest method as all files are imported through a
Perforce Client. Convert Mode is significantly faster, but requires an
understanding of Perforce database administration.
</p>
<p>
Convert Mode is an advanced feature and should only be attempted by a
Perforce expert familiar with replaying and upgrading databases.
Incremental conversions are not supported using Convert Mode; however
Import Mode can be used after a Convert Mode conversion to update the
migration.
</p>
</div>
<div class="section" id="about.incremental_updates">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">Incremental Updates (front door)</h2>
</div>
</div>
</div>
<p>
Incremental Subversion updates are possible only using the Import Mode
where new revisions from Subversion are imported into Perforce. However,
no changes should be made to the import area of the Perforce Server or
conflicts may occur.
</p>
<p>
Incremental CVS imports are not currently supported in either Import or
Convert Mode.
</p>
</div>
</div>
</div>
</div>
<div id="nav" class="toc">
<div class="cover"></div>
<ul class="toc nav">
<li class="active"><a href="index.html"><span class="prefix"></span>What is p4convert for?</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="index.html#about.import_mode"><span class="prefix"></span>Import Mode (front door)</a></li>
<li><a href="index.html#about.convert_mode"><span class="prefix"></span>Convert Mode (back door)</a></li>
<li><a href="index.html#about.incremental_updates"><span class="prefix"></span>Incremental Updates (front door)</a></li>
</ul>
</li>
<li><a href="chapter.setup.html"><span class="prefix">1. </span>Setup</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.setup.html#setup.requirements"><span class="prefix"></span>System Requirements</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.setup.html#setup.requirements.resource_tips"><span class="prefix"></span>Resource Tips:</a></li>
</ul>
</li>
<li><a href="chapter.setup.html#setup.caveats"><span class="prefix"></span>Caveats</a></li>
<li><a href="chapter.setup.html#setup.usage"><span class="prefix"></span>Setup and Usage</a></li>
<li><a href="chapter.setup.html#setup.generate_dump_file"><span class="prefix"></span>Generating a Subversion Dump file</a></li>
<li><a href="chapter.setup.html#setup.cvs_root"><span class="prefix"></span>Selecting a CVS root</a></li>
</ul>
</li>
<li><a href="chapter.config.html"><span class="prefix">2. </span>Configuration</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.config.html#config.general.core"><span class="prefix"></span>Core converter settings.</a></li>
<li><a href="chapter.config.html#config.general.p4"><span class="prefix"></span>General Perforce converter settings.</a></li>
<li><a href="chapter.config.html#config.general.svn"><span class="prefix"></span>General Subversion converter settings.</a></li>
<li><a href="chapter.config.html#config.general.cvs"><span class="prefix"></span>General CVS converter settings.</a></li>
<li><a href="chapter.config.html#config.mapping_CVS_paths"><span class="prefix"></span>Mapping CVS Paths</a></li>
<li><a href="chapter.config.html#config.labeling_CVS_paths"><span class="prefix"></span>Labeling CVS Paths</a></li>
<li><a href="chapter.config.html#config.general.selective_and_incremental_conversions"><span class="prefix"></span>Subversion: Selective and Incremental Conversions</a></li>
<li><a href="chapter.config.html#config.filtering_subversion_paths"><span class="prefix"></span>Filtering Subversion paths</a></li>
<li><a href="chapter.config.html#config.labeling_subversion_paths"><span class="prefix"></span>Labeling Subversion Paths</a></li>
<li><a href="chapter.config.html#config.changelist_offset_options"><span class="prefix"></span>Changelist Offset options</a></li>
<li><a href="chapter.config.html#config.unicode_support"><span class="prefix"></span>Unicode Support</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.config.html#config.unicode_support.normalization"><span class="prefix"></span>Normalisation</a></li>
<li><a href="chapter.config.html#config.unicode_support.subversion_properties"><span class="prefix"></span>Subversion Properties</a></li>
</ul>
</li>
<li><a href="chapter.config.html#config.advanced"><span class="prefix"></span>Advanced Configuration</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.config.html#config.advanced.directory_properties"><span class="prefix"></span>Directory Properties</a></li>
<li><a href="chapter.config.html#config.advanced.empty_changelists"><span class="prefix"></span>Empty changelists</a></li>
<li><a href="chapter.config.html#config.advanced.username_translation"><span class="prefix"></span>Username translation</a></li>
<li><a href="chapter.config.html#config.advanced.binary_file_detection"><span class="prefix"></span>Binary file detection</a></li>
<li><a href="chapter.config.html#config.advanced.changelist_description_format"><span class="prefix"></span>Changelist Description Format</a></li>
<li><a href="chapter.config.html#config.advanced.case_sensitivity"><span class="prefix"></span>Case Sensitivity</a></li>
<li><a href="chapter.config.html#config.advanced.rcs_keyword_expansion"><span class="prefix"></span>RCS Keyword expansion (svn:keywords)</a></li>
<li><a href="chapter.config.html#config.advanced.merge_information"><span class="prefix"></span>Merge Information (svn:mergeinfo)</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="chapter.running.html"><span class="prefix">3. </span>Running P4Convert</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.running.html#running.import_mode"><span class="prefix"></span>Import Mode</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.running.html#running.import_mode.configuration"><span class="prefix"></span>Configuration options specific to Import Mode</a></li>
</ul>
</li>
<li><a href="chapter.running.html#running.convert_mode"><span class="prefix"></span>Convert Mode</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.running.html#running.convert_mode.configuration"><span class="prefix"></span>Configuration options specific to Conversion Mode</a></li>
</ul>
</li>
<li><a href="chapter.running.html#running.post_conversion"><span class="prefix"></span>Post Conversion [Conversion Mode]</a></li>
</ul>
</li>
<li><a href="chapter.notes.html"><span class="prefix">4. </span>Notes</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.notes.html#notes.keyword_expansion_issues"><span class="prefix"></span>Keyword Expansion Issues:</a></li>
<li><a href="chapter.notes.html#notes.verification"><span class="prefix"></span>Verification</a></li>
<li><a href="chapter.notes.html#notes.output"><span class="prefix"></span>Output and Logs</a><a class="expander"><span class="glyphicon glyphicon-chevron-down"></span></a><ul class="nav">
<li><a href="chapter.notes.html#notes.output.console"><span class="prefix"></span>Console output and logging configuration options</a></li>
<li><a href="chapter.notes.html#notes.output.future"><span class="prefix"></span>These options are reserved for testing or future enhancements:</a></li>
<li><a href="chapter.notes.html#notes.output.reading"><span class="prefix"></span>Reading Console/Logging output</a></li>
</ul>
</li>
<li><a href="chapter.notes.html#notes.errors"><span class="prefix"></span>Errors</a></li>
</ul>
</li>
</ul>
</div>
<div id="search">
<div class="input"><input id="search-text" type="search" placeholder="Search this guide" /><button name="clear" type="button" class="clear"><span class="glyphicon glyphicon-remove-sign"></span></button></div>
<div class="controls">
<div class="substring"><input type="checkbox" class="substring" name="substring" value="hide" checked="1" /><span class="description">Hide partial matches</span></div>
<div class="highlighter"><input type="checkbox" class="highlight" name="highlight" value="show" checked="1" /><span class="description">Highlight matches</span></div>
</div>
<div class="count"><span class="number">0</span> matching pages
</div>
<ul class="results"></ul>
</div>
<div id="footer">
<div class="container"><a accesskey="p" class="nav-prev" title="Press 'p', or left-arrow, to view the previous page" href="copyright.html"><span class="glyphicon glyphicon-chevron-left"></span><div class="label">Previous</div>
<div class="title">P4Convert: User Guide</div></a><a accesskey="n" class="nav-next" title="Press 'n', or right-arrow, to view the next page" href="chapter.setup.html"><span class="glyphicon glyphicon-chevron-right"></span><div class="label">Next</div>
<div class="title">Setup</div></a></div>
</div><script type="text/javascript" src="vendor/jquery/jquery-1.10.2.min.js"></script><script type="text/javascript" src="vendor/bootstrap/js/bootstrap.js"></script><script type="text/javascript" src="vendor/cookie/jquery.cookie.js"></script><script type="text/javascript" src="vendor/highlight/jquery.highlight.js"></script><script type="text/javascript" src="vendor/jsrender/jsrender.js"></script><script type="text/javascript" src="vendor/touchwipe/jquery.touchwipe.min.js"></script><script type="text/javascript" src="vendor/prettify/prettify.js"></script><script type="text/javascript" src="js/index.js"></script><script type="text/javascript" src="js/perforce.js"></script></body>
</html>