Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.4 KB

README.md

File metadata and controls

49 lines (35 loc) · 1.4 KB

Reproducible incremental CVS-to-Git conversion

Build Status

Installation

There is a port of git-cvs for OpenBSD. Run pkg_add git-cvs to install the package.

To install git-cvs from source, ensure that you have a recent version of Simon Schubert's rcsparse library installed and then run setup.py:

sudo ./setup.py install

Usage

Clone a local CVS repository into a Git repository.

git cvs clone /cvs/src

This will parse all RCS files, generate changesets and import those changesets into Git. Some metadata will be stored in .git/cvsgit.db and is required for further incremental runs.

Update the Git repository with recent changesets from CVS.

git cvs pull

The CVSROOT for this command is the same as when the repository was cloned initially. You can change the CVS repository location by modifying the cvs.source option with git-config(1).

Caveats

Git, on purpose, does not manage the mtime of checked out files in order to allow make(1) and similar tools to figure out which files must be rebuilt after switching branches. cvs sets the mtime to the repository mtime whenever checkout/update creates a new file, but not if the file already exists.