<?xml version="1.0" encoding="UTF-8"?> <!-- vim: set ts=2 sw=2 tw=80 ai si: --> <?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" schematypens="http://relaxng.org/ns/structure/1.0"?> <?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?> <chapter xml:id="chapter.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" > <title>Setup</title> <section xml:id="setup.requirements"> <title>System Requirements</title> <orderedlist> <listitem> <para> [SVN] an unzipped Subversion dump file of the repository to be converted (generated without the <parameter>--delta</parameter> flag). </para> </listitem> <listitem> <para> [CVS] an unzipped CVSROOT directory containing the RCS files of the repository to be converted. </para> </listitem> <listitem> <para> System must have <emphasis role="bold">Java SE Runtime 1.7</emphasis>. </para> </listitem> <listitem> <para> System must have the Perforce Server binaries 2010.2 or greater. </para> </listitem> <listitem> <para> [Import Mode] A running Perforce Server (typically empty) with no pending changes in the conversion area. </para> </listitem> <listitem> <para> [Convert Mode] An empty Perforce Root directory for the generated archive and journal files. </para> </listitem> </orderedlist> <section xml:id="setup.requirements.resource_tips"> <title>Resource Tips:</title> <para> Running some conversions, particularly in Conversion Mode can be very memory intensive, as a mapping of revisions and integrations is kept in memory. For large conversions, or conversions with excessive branching, more memory will needed by the JVM. </para> <para> The <parameter>--info</parameter> option will scan the Subversion dump file and report usage data to help estimate the required memory for Convert Mode. For example: </para> <programlisting language="bash"> java -jar p4convert.jar --info <path_to_svn_dumpfile> </programlisting> <para> Use the <parameter>-Xmx</parameter> flags to increase the memory allocated to the JVM. For example, to allocate 64GB (65536MB) use: </para> <programlisting language="bash"> java -Xmx65536M -jar p4convert.jar myConfig.cfg </programlisting> </section> </section> <section xml:id="setup.caveats"> <title>Caveats</title> <orderedlist> <listitem> <para> The following table lists the combinations of tested operating systems and Perforce Server versions. </para> <informaltable> <tgroup cols="3"> <colspec colname="os" colwidth="2*"/> <colspec colname="10.2" colwidth="*"/> <colspec colname="13.1" colwidth="*"/> <thead> <row> <entry><para>Operating System</para></entry> <entry><para>10.2</para></entry> <entry><para>13.1</para></entry> </row> </thead> <tbody> <row> <entry><para>Ubuntu 10.04</para></entry> <entry><para>supported</para></entry> <entry><para>supported</para></entry> </row> <row> <entry><para>Darwin 11.4.0</para></entry> <entry><para>supported</para></entry> <entry><para>supported</para></entry> </row> <row> <entry><para>Windows 7x64</para></entry> <entry><para>supported</para></entry> <entry><para>supported</para></entry> </row> <row> <entry><para>SunOS 5.10</para></entry> <entry><para>supported</para></entry> <entry><para>supported</para></entry> </row> </tbody> </tgroup> </informaltable> <para> It is likely that other combinations will work, however it is not possible to test all combinations. </para> <para> Please contact Perforce if you have any OS or version queries. </para> </listitem> <listitem> <para> [Import Mode] Symbolic links are not supported in Import Mode on Windows. </para> </listitem> <listitem> <para> Perforce keyword expansions are different from the CVS and Subversion standard and may yield different results when synced. </para> </listitem> </orderedlist> </section> <section xml:id="setup.usage"> <title>Setup and Usage</title> <para> Download the self-contained JAR from Perforce and check that Java SE runtime is installed with version 1.7 or greater. </para> <para> For usage details, execute the jar with no options: </para> <programlisting language="bash"> java -jar p4convert.jar No option or configuration file specified... Usage: java -jar p4convert.jar [ config file ] Options: java -jar p4convert.jar --config [ SVN | CVS ] java -jar p4convert.jar --version Subversion specific options: java -jar p4convert.jar --info [ dumpfile ] java -jar p4convert.jar --users [ dumpfile ] java -jar p4convert.jar --extract [ rev ].[ node ] [ dumpfile ] </programlisting> <para> Create a configuration file using the <parameter>--config</parameter> option. This will contain a set of default configuration options based on your platform. To subsequently start a conversion, execute the jar with the populated configuration file. For example: </para> <programlisting> java -jar p4convert.jar my_CVSrepo.cfg </programlisting> </section> <section xml:id="setup.generate_dump_file"> <title>Generating a Subversion Dump file</title> <para> For Subversion conversions, both Import and Convert modes require a Subversion dumpfile as the historic data source. A dumpfile can be generated in several different ways, two of which are detailed below: </para> <itemizedlist> <listitem> <para> Using the svnadmin command: </para> <programlisting language="bash"> svnadmin dump <replaceable>local_repo_path</replaceable> > dumpfile.dmp </programlisting> <para> Replace <replaceable>local_repo_path</replaceable> with the path to the Subversion repo. Do not use the <parameter>--delta</parameter> flag option as the results cannot be parsed by the conversion tool. </para> </listitem> <listitem> <para> Using the remote dump command: </para> <programlisting language="bash"> rsvndump <replaceable>url</replaceable> > dumpfile.dmp </programlisting> <para> Replacing <replaceable>url</replaceable> with the remote Subversion server. For example: <literal>http://</literal> or <literal>file://</literal> or <literal>svn://</literal>. Note that for large servers generating the dump file locally is significantly faster, so you might also consider creating a local copy of the subversion depot using <link xlink:href="http://svn.apache.org/repos/asf/subversion/trunk/notes/svnsync.txt">svnsync</link>, before generating the dump file. </para> </listitem> </itemizedlist> </section> <section xml:id="setup.cvs_root"> <title>Selecting a CVS root</title> <para> For CVS conversions, both Import and Convert modes require a path containining RCS files as the historic data source. CVSROOT can be filtered or imported on a per module basis. The converter will only import file revisions under the specified CVSROOT path. </para> </section> </chapter>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#8 | 13920 | Paul Allen | copy part 2 (no errors) | ||
#7 | 11901 | Paul Allen |
SVN: Added command-line flags to support incremental conversions. Users can now use --start and --end flags to control the SVN revision range imported. The existing --repo flag if specified will override the configuration file. - Updates to Doc - Minor fix to default file header |
||
#6 | 11186 | Paul Allen |
Support standard command line arguments. Important change please note... @rjackson @nmorse The change was needed to extend the current features like --info and --user for CVS and future SCM support. Please check the documentation and CLI usage for the new usage. - CVS support for --users - Unit tests for CLI arguments Example: standard usage. java -jar p4convert.jar --config=myFile.cfg Example: generate a CVS configuration file. java -jar p4convert.jar --type=CVS --default Example: report Subversion repository usage. java -jar p4convert.jar --type=SVN --repo=/path/to/repo.dump --info |
||
#5 | 11048 | Paul Allen | SVN: Draft documentation for labels. | ||
#4 | 10795 | adrian_waters | Clarification re CVS vs SVN / tidy-up / fix typos / | ||
#3 | 10769 | Paul Allen |
Removed references to 'svn' from the name 'p4convert-svn'. Updated: Build, Usage, User docs, and Releases notes. |
||
#2 | 10698 | Paul Allen | Updates to the documentation for CVS and SVN configurations. | ||
#1 | 9809 | Paul Allen |
Documentation content. Will need to publish Perforce Documentation _build (Check if Open Source compatible). |