Metadata-Version: 1.0
Name: rcs4cvs2svn
Version: 1.0
Summary: prepare RCS project for processing with cvs2svn
Home-page: http://pypi.python.org/pypi/rcs4cvs2svn/
Author: Thomas Aglassinger
Author-email: roskakori@users.sourceforge.net
License: BSD License
Description: 
        rcs4cvs2svn prepares an RCS project for processing with cvs2svn.
        
        rcs4cvs2svn is useful for developers who still have ancient source code
        floating around in RCS repositories and want to move it to a modern
        SCM system.
        
        While rcs4cvs2svn does not provide any possibility to directly migrate
        to any other SCM system, it creates a copy of your RCS repository that
        can be processed by cvs2svn, available from <http://cvs2svn.tigris.org/>.
        
        That way, you'll end up with a Subversion repository, which already
        may be sufficient. Alternatively, Subversion offers a sound base
        for further migration to another SCM such as Git or Mercurial, as most
        SCM vendors provide tools to migrate from SVN but not RCS. 
        
        (You can of course use rcs4cvs2svn as replacement for various rcs2cvs
        scripts floating around. Unlike many of these scripts, 
        rcs4cvs2svn can process 
        filenames with space characters and handles any errors it
        encounters.)
        
        Usage
        =====
        
        Usage is simple::
        
          cvs -d /path/to/cvs/repository init
          python rcs4cvs2svn /path/to/rcs/project /path/to/cvs/repository
        
        There are a couple of options, for more information run::
        
          python rcs4cvs2svn --help
        
        
        Tutorial
        ========
        
        This section describes how to migrate an RCS repository to
        CSV and then to Subversion.
        
        First, create a simple RCS repository for a project called "hello"
        which contains a single file, "hello.txt" with 2 revisions::
        
          mkdir -p hello/RCS
          cd hello
          echo "hello world!" >hello.txt
          echo "Added greetings.
        ." | ci -u hello.txt
          co -l hello.txt
          echo "hello space!" >>hello.txt
          echo "Added more greetings.
        ." | ci -u hello.txt
        
        Next, create a new CVS repository which will act as destination::
        
          cvs -d /tmp/hello_cvs init
        
        Now migrate the the RCS repository to CSV.
        
          python rcs4cvs2svn.py hello/ /tmp/hello_cvs/
        
        Because CVS still is a very dated way to manage a software project,
        let's move on to the next step of evolution: Subversion. You will
        need ``cvs2svn``, available from <http://cvs2svn.tigris.org/>.
        
        While there are several ways to convert CVS to SVN, the easiest
        for our task is to simple create a SVN dumpfile containing the
        CVS as trunk::
        
          cvs2svn --trunk-only --dumpfile hello.dump /tmp/hello_cvs/
        
        Now you can create a SVN repository and load the trunk into it::
        
          svnadmin create /tmp/hello_svn/
          svnadmin load /tmp/hello_svn/ <hello.dump
        
        Moving on to even more advanced SCM systems is left as an
        exercise to the reader.
         
        License
        =======
        
        Copyright (c) 2006-2010, Thomas Aglassinger. All rights reserved.
        Distributed under the BSD License.
        
        Version information
        ===================
        
        Version 1.0, 2010-07-04
        -----------------------
        
        Initial public release.
        
        Version 0.9, 2006-05-01
        -----------------------
        
        Initial internal version used to convert some of my own projects.
        
Keywords: rcs csv svn convert migrate import
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Topic :: Software Development :: Version Control :: RCS
