------------------------------
New features:
* Add a "cvs2git" script for starting conversions to git (or Mercurial).
* Add a "cvs2bzr" script for starting conversions to Bazaar.
* Generate manual pages automatically via new --man option.
* Allow --mime-types and --auto-props options to be specified more than once.
* Support author transforms when converting to Subversion.
* Allow unlabeled branches to be renamed using SymbolTransforms.
Bugs fixed:
* cvs2git with non-inline blobs: a revision after a delete could be empty.
* Fix timezone handling under Windows (which does not respect TZ variable).
* Do path comparisions platform-independently in symbol transform classes.
* Fix https://bugs.launchpad.net/pld-linux/+bug/385920
Improvements and output changes:
* Output error message if a revision's deltatext is missing.
* Improve contrib/verify-cvs2svn.py (used for testing conversion accuracy).
Miscellaneous:
* Add an IgnoreSymbolTransform class, for ignoring symbols matching a regexp.
* Remove some DeprecationWarnings when running under newer Python versions.
- updating from 2.1.1 to 2.2.0
- adding destdir support
Upstream changes:
Version 2.2.0 (23 November 2008)
--------------------------------
New features:
* cvs2git: Omit fixup branch if a tag can be copied from an existing revision.
* cvs2git: Add option to set the maximum number of merge sources per commit.
* Allow arbitrary SVN directories to be created when a project is created.
* Allow vendor branches to be excluded, grafting child symbols to trunk.
* By default, omit trivial import branches from conversion.
- Add --keep-trivial-imports option to get old behavior.
* By default, don't include .cvsignore files in output (except as svn:ignore).
- Add option --keep-cvsignore to get the old behavior.
* Allow the user to specify the form of cvs2svn-generated log messages.
* Allow file contents to be written inline in git-fast-import streams.
* --create-option: allow arbitrary options to be passed to "svnadmin create".
* Improve handling of auto-props file:
- Discard extraneous spaces where they don't make sense.
- Warn if parts of the file might be commented out unintentionally.
- Warn if the user appears to be trying to quote a property value.
Bugs fixed:
* Fix issue #81: Remove svn:ignore property when .cvsignore is deleted.
* Fix svn dumpfile conformance:
- Don't include a leading '/' for Node-path.
- Include the Node-kind field when copying nodes.
* Make symlink test create symlinks explicitly, to avoid packaging problems.
* Accept symbol references to revision numbers that end with ".0".
Improvements and output changes:
* When -v, log reasons for symbol conversion choices (tag/branch/exclude).
* Log preferred parent determinations at verbose (rather than debug) level.
* Log symbol transformations at verbose (rather than warn) level.
* Log statistics about all symbol transformations at normal level.
* cvs2git: Generate lightweight rather than annotated tags.
* contrib/destroy_repository.py:
- Allow symbols, files, and directories to be renamed.
- Allow CVSROOT directory contents to be erased.
- Specify what aspects of a repo to destroy via command-line options.
Miscellaneous:
* cvs2svn now requires Python version 2.4 or later.
Changes from 2.1.0 to 2.1.1:
- Adjust test suite for upstream changes in the svntest code.
Changes from 2.0.1 to 2.1.0:
- Allow conversion of a CVS repository to git.
- Support mapping from cvs author names to git "Author <email>" form.
- Add SymbolMapper, for transforming specific symbols in specific files.
- Allow SymbolTransforms to cause a symbol to be discarded.
- Write each CVS branch/tag to be written to an arbitrary SVN path.
- Choose which trunk/branch should serve as the parent of each branch/tag.
- --symbol-hints: manually specify how symbols should be converted.
- Make symbol strategy rules project-specific.
- --write-symbol-info: output info about CVS symbols.
- Add option ctx.decode_apple_single for handling AppleSingle-encoded files.
- Add a new, restartable pass that converts author and log_msg to unicode.
- Allow properties to be left unset via auto-props using a leading '!'.
- Polish to work well under Python 2.5.
- Create trunk/tags/branches directories for project when project is created.
- Improved conversion speed significantly, especially for large repositories.
- Ignore (with a warning) symbols defined to malformed revision numbers.
- Tolerate multiple definitions of a symbol to the same revision number.
- Handle RCS files that superfluously set the default branch to trunk.
- Allow '/' characters in CVS symbol names (creating multilevel SVN paths).
- Allow symbols to be transformed to contain '/' (allowing multilevel paths).
- Convert '\' characters to '/' (rather than '--') in symbol names.
- Make encoding problems fatal; to resolve, restart at CleanMetadataPass.
- Change the default symbol handling option to --symbol-default=heuristic.
Changes since version 1.3.0:
Version 1.5.0 (03 October 2006)
-------------------------------
New features:
* Support multiproject conversions (each gets its own trunk, tags, branches).
* New --output option to allow run-time options to be defined via a file.
* --co, --cvs, and --sort options to specify the paths to executables.
* Add new --fallback-encoding option.
Bugs fixed:
* Fix issue #86: Support multiple project roots per repository.
* Fix issue #104: Allow path to "sort" executable to be specified.
* Fix issue #8: Allow multiple --encoding options.
* Fix issue #109: Improve handling of fallback encodings.
Improvements and output changes:
* Further reduce conversion time and temporary space requirements.
Miscellaneous:
* Deprecate the --dump-only option (it is now implied by --dumpfile).
* Add scripts to help isolate conversion problems and shrink test cases.
* Add a script to search for illegal filenames in a CVS repository.
Version 1.4.0 (27 August 2006)
------------------------------
New features:
* Support multicomponent --trunk, --tags, and --branches paths (issue #7).
* New --auto-props option allows file properties to be set via file.
* --force-branch and --force-tag options now accept regular expressions.
* Add --symbol-default option.
* Support multiple, ordered --encoding options.
Bugs fixed:
* Fix issue #93: Tags with forbidden characters converted to branches.
* Fix issue #102: Branch file, deleted in CVS, is present in SVN.
Improvements and output changes:
* Print informative warning message if a required program is missing.
* Output an error if any CVS filenames contain control characters.
* Clean up temporary files even for pass-by-pass conversions.
* Improve handling of commit dependencies and multibranch commits.
* Implemented issue #50 (performance change).
* Reduced the amount of temporary disk space needed during the conversion.
Miscellaneous:
* cvs2svn now requires Python version 2.2 or later.
* cvs2svn has been broken up into many smaller python modules for clarity.
Version 1.3.1 (24 May 2006)
---------------------------
Bugs fixed:
* Fix issue #67: malfunction caused by RCS branches rooted at revision 1.0.
Please note that this is the first released version of cvs2svn.
Previously this package used snapshots from the trunk of cvs2svn repository.
Hence I'm not providing here all the changes since the latest packaged
version.
XXX cvs2svn depends on sort(1) with '-T' option. A dependency and a patch
to resort on GNU sort from coreutils may be required.
XXX There's an issue on NetBSD 1.6.* platform about non-ascii charset.
The test 27 from cvs2svn test suite fails. This is an svn(1) issue.
Collection.
Cvs2svn is a Python script that converts a CVS repository to a Subversion
repository. It is designed for one-time conversions, not for repeated
synchronizations between CVS and Subversion.
Please note that cvs2svn was previously provided in the py-subversion
package before version 1.0.1.
This package is based on initial work by Eric Gillespie <epg@>. Thanks Eric!