cvsps-import - Import CVS branches using cvsps to extract patchsets

Version Not specified
Branch lp:bzr-cvsps-import
Home page https://launchpad.net/bzr-cvsps-import
Owner jameinel
GNU/Linux Yes
Windows Maybe (please test)
Mac OS X Maybe (please test)

A plugin for converting from CVS to bzr using a cvsps changeset listing.

This program directly accesses the RCS files using ‘co’ to avoid the overhead of cvs.

cvsps-import

Purpose

Import from CVS into bzr.

Usage

bzr cvsps-import CVSROOT MODULE OUTPUT

Options

-v, --verbose Display more information.
--only-branches=REGEX
 Only convert branches matching the specific regex.
--encoding=ARG Set the encoding for cvs author names and commit messages.
--verify Verify that processed versions exist in the branch they claim to be in.
-q, --quiet Only display errors and warnings.
--use-cvs Use cvs to extract texts.
--use-rcs Use rcs to extract texts. (default)
--usage Show usage message and options.
--cvsps-dump=PATH
 Path to an existing cvsps dump. This will be used rather than generating a new one.
-h, --help Show help message.

Description

Convert the MODULE into a target at OUTPUT, extracting the data from CVSROOT:

OUTPUT/          Information for the conversion will be stored here
OUTPUT/bzr/           Contains the converted bzr branches.
OUTPUT/bzr/MODULE/                This will be a shared repository
OUTPUT/bzr/MODULE/branches/       All branches will be collected here
OUTPUT/bzr/MODULE/branches/HEAD/  The CVS HEAD branch
OUTPUT/bzr/MODULE/tags            Any CVS tags will be generated here
OUTPUT/staging/             Stores the cvsps-import working files.
OUTPUT/staging/MODULE.dump  If not supplying --cvsps-dump, one will be created here
OUTPUT/staging/MODULE.map   A mapping from cvsps revisions => bzr revisions
OUTPUT/staging/MODULE.fmap  A mapping from cvs path => bzr file_id to allow cross
                            branches to use the same file id.

When resuming, the default is to check that each revision id is present in the branch. This is a little bit slow, because it has to open up every branch. Passing –no-verify will change this to just assume they have been properly converted.

cvsps-upgrade-conversion

Purpose

Convert the old layout of branches to the new one.

Usage

bzr cvsps-upgrade-conversion OUTPUT

Options

--usage Show usage message and options.
-v, --verbose Display more information.
-q, --quiet Only display errors and warnings.
-h, --help Show help message.

Description

Originally, cvsps conversions were done with:

out/
out/staging/
out/staging/MODULE.dump
out/staging/MODULE.map
out/bzr_repo/
out/bzr_repo/.bzr/repository
out/bzr_repo/MODULE.BRANCH1/
out/bzr_repo/MODULE.BRANCH1/.bzr/
out/bzr_repo/MODULE.BRANCH1/.bzr/branch/
out/bzr_repo/MODULE.BRANCH1/.bzr/checkout/
out/bzr_repo/MODULE.BRANCH2/
out/bzr_repo/MODULE.BRANCH2/.bzr/
out/bzr_repo/MODULE.BRANCH2/.bzr/branch/
out/bzr_repo/MODULE.BRANCH2/.bzr/checkout/

Basically, a globally shared repository, and each branch had its own working tree. For large conversions, this uses a lot of disk space. So instead we switched to:

out/
out/staging/
out/staging/MODULE.dump
out/staging/MODULE.map
out/staging/MODULE.fmap
out/bzr/
out/bzr/MODULE/
out/bzr/MODULE/.bzr/repository
out/bzr/MODULE/branches/
out/bzr/MODULE/branches/BRANCH1/
out/bzr/MODULE/branches/BRANCH1/.bzr/branch
out/bzr/MODULE/branches/BRANCH2/
out/bzr/MODULE/branches/BRANCH2/.bzr/branch

And the working tree is kept only in memory.