Metadata-Version: 1.0
Name: rcs4cvs2svn
Version: 1.1
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 <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 from 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::
        
          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
        
        Now migrate the the RCS repository to CSV::
        
          python rcs4cvs2svn.py hello/ /tmp/hello_cvs/
        
        The output should be::
        
          INFO:rcs4cvs2svn:create new CVS repository at "/tmp/hello_cvs/"
          INFO:rcs4cvs2svn:migrated 1 files from "hello/" to "/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 <http://www.opensource.org/licenses/bsd-license.php>`_.
        
        
        Version information
        ===================
        
        Version 1.1, 2010-07-04
        -----------------------
        
        * Added automatic creation of CVS repository in case the target path does
          not already contains a ``CVSROOT`` folder. In order for this to work, the
          ``cvs`` command line client has  to be installed.
        * Cleaned up API. Simply ``import rcs4cvs2svn`` and call
          ``initCvsRepository()`` and ``convertRcsToCvs()`` as needed.
        
        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
