[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#773316: ITP: cvs-fast-export -- Export an RCS or CVS history as a fast-import stream



Package: wnpp
Severity: wishlist
Owner: Anthony Fok <foka@debian.org>

* Package name    : cvs-fast-export
  Version         : 1.28
  Upstream Authors: Keith Packard <keithp@keithp.com>,
                    Eric S. Raymond <esr@thyrsus.com>
* URL             : http://www.catb.org/esr/cvs-fast-export/
* License         : GPL-2+
  Programming Lang: C, Python
  Description     : Export an RCS or CVS history as a fast-import stream

This program analyzes a collection of RCS files in a CVS repository
(or outside of one) and, when possible, emits an equivalent history in
the form of a fast-import stream.  Not all possible histories can be
rendered this way; the program tries to emit useful warnings when it
can't.  The program can also produce a visualization of the resulting
commit DAG in the DOT format handled by the graphviz suite.

The analysis stage of this code originally travelled as "parsecvs"
and was written by Keith Packard in early 2006.  It was briefly
maintained by Bart Massey before passing to Eric S. Raymond in
late 2012; ESR wrote the fast-export output stage and renamed the
program to reflect its new function.

The distribution includes a tool, cvssync, for fetching masters from
CVS remote repositories so cvs-fast-export can see them.  You will
need rsync installed to use it.

A wrapper script called cvsconvert runs a conversion to git and
looks for content mismatches with the original CVS.

Also included is a tool called cvsreduce that strips content out of
trees of RCS/CVS masters, leaving only metadata structure in place. If
you encounter a bug in this program, sending the maintainer a reduced
version of your CVS tree greatly decreases the expected time to fix.


Reasons for packaging cvs-fast-export:

 1. parsecvs (hence cvs-fast-export) is referred to in the git-cvs package.

 2. reposurgeon (WNPP, Bug#702485) requires cvs-fast-export to work with
    CVS repositories.

 3. ESR's work in CVS conversions was featured in Slashdot:

     * http://developers.slashdot.org/story/14/10/20/217248/help-esr-stamp-out-
cvs-and-svn-in-our-lifetime
     * http://esr.ibiblio.org/?p=6389

    and I thought it might be the best tool (along with reposurgeon)
    to use if we eventually decide to migrate our venerable webwml
    CVS repository to Git.  :-)


Reply to: