Perforce Public Knowledge Base - CVS to Perforce
× PRODUCTS SOLUTIONS CUSTOMERS LEARN SUPPORT
Downloads Company Partners Careers Contact Free Trials
Menu Search
Perforce
Reset Search
 

 

Article

CVS to Perforce

« Go Back

Information

 
Problem
Customers moving to Perforce from CVS need to consider which migration option best fits their business needs:
Solution

The 'p4 reconcile' option

Copy the latest revision of the needed files into a Perforce workspace, then use  p4 reconcile to add them to your Perforce server. See the KB article Adding a Directory Tree for additional details.

Advantages:

  • Quick, requires no conversion utility.
  • Allows the initial Perforce server to be as small and quick as possible.
  • Access to the read-only CVS repository can provide historical data if needed.
  • No downtime for merging of servers is necessary.

Disadvantages:

  • No access to historical revisions from within Perforce.
  • May lose existing historical relationships between code lines.

The Detailed History Import option

Many sites have successfully converted from CVS to Perforce. p4convert is the supported Perforce utility for converting detailed history from CVS repositories into Perforce.

ftp://ftp.perforce.com/perforce/tools/p4convert/p4convert.pdf
ftp://ftp.perforce.com/perforce/tools/p4convert/p4convert.tgz

Advantages:

  • You will get a full history of your source base in Perforce.
  • Authors and Dates of CVS checkins will be preserved within Perforce.
  • Code lines will preserve integration histories, and will "make more sense" when integrated in the future.

Disadvantages:

  • Converters often must  process large volumes of data and can often run relatively slowly.
  • The larger the repository the longer and more error prone the conversion will be.
  • Errors detected during conversion might require manual fixes, or additional assistance from Perforce support.
  • With large repositories, there might be problems finding enough memory or disk space for the conversion.
  • Some CVS repositories are structured so that when converted to Perforce they expand to many times their original size.
  • The Perforce server will start with existing history which can negatively effect the disk and memory footprint and ultimately reduce server performance.
  • If the converted server requires merging into an existing Perforce Server, downtime will be required for the merge operation using the perfmerge tool.
Note: Prior to the release of p4convert, conversions from CVS to Perforce where done using the p4convert-cvs conversion tool. The p4convert-cvs tool is now deprecated and p4convert is the only detailed history import tool supported by Perforce.

The Baseline and Branch Import Option (BBI):

The Baseline and Branch Import Option, is a way to migrate just "key points" in history.

Baseline and Branch Import (BBI) - A Migration Strategy
Perforce Workshop - Baseline and Branch Import

Advantages:

  • Quicker than a detailed conversion, requires no conversion utility.
  • Allows the initial Perforce server to be small and quick.
  • Access to the read-only CVS repository can provide historical data if needed.
  • No merging of servers is necessary.
  • BBI tools are open source and can be modified if needed.
  • Requires much less memory and disk space than a detailed conversion.
  • Community supported within the Perforce Workshop.

Disadvantages:

  • Only partial access to historical revisions from within Perforce.
  • Requires more planning than either "p4 reconcile" or a detailed conversion.
  • No need to merge converted repository into production server.
  • Not supported by Perforce Support. (Consulting assistance recommended.)

 
Related Links

Feedback

 

Was this article helpful?


   

Feedback

Please tell us how we can make this article more useful.

Characters Remaining: 255