Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Differences between revisions 15 and 16
Revision 15 as of 2006-12-18 15:55:32
Size: 3752
Comment: Update branch
Revision 16 as of 2007-03-08 21:07:01
Size: 3767
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
repositories into [http://bazaar-ng.org Bazaar 2.0] repositories. repositories into [http://bazaar-vcs.org Bazaar] repositories.
Line 12: Line 12:
Subversion repository, and creating the Bazaar 2.0 repository Subversion repository, and creating the Bazaar repository
Line 14: Line 14:


== Features ==

  * '''Stable file and revision IDs -''' svn2bzr produces ''stable''
  file and revision IDs, meaning that if the same subversion repository
  is converted twice, the resulting bzr branches may interoperate.

  * '''Support for branches and tags -''' svn2bzr is able to convert
  all branches and tags of the subversion repository, splitting them
  into separate Bazaar branches, using a unique shared repository.

  * '''No external dependencies -''' svn2bzr doesn't depend on anything
  else besides a recent Python interpreter and Bazaar itself.
Line 98: Line 112:
  * http://samba.org/~jelmer/bzr/svn2bzr-0.8.2.tar.gz The current development version may be found in the following Bazaar branch:
Line 100: Line 114:
This release works with Bazaar 0.8, but has several [https://launchpad.net/products/svn2bzr/+bugs known bugs].   http://bzr.labix.org/svn2bzr/
Line 102: Line 116:
The original version is still available from: Check the [http://code.launchpad.net/svn2bzr/ Launchpad code tab] to see
how people have been working on the project.
Line 104: Line 119:
  * http://bzr.labix.org/svn2bzr/svn2bzr.py (updated 2005-12-20)

== Bazaar 2.0 branch ==

There's a Bazaar 2.0 branch at:

  * http://bzr.labix.org/svn2bzr/

This branch works with bzr 0.7.

Another branch, developed by Jelmer Vernooij, is available from:

  * http://people.samba.org/bzr/jelmer/svn2bzr/trunk

This branch contains support for svn:executable and svn:ignore properties and some small bugfixes. It works with bzr 0.8.

This branch is no longer actively maintained (the author is instead working on BzrSvn)
Line 124: Line 122:
Copyright (c) 2005 Canonical Ltd.
Copyright (C) 2005-2006 Jelmer Vernooij.
Copyright (c) 2005-2007 Canonical Ltd.

Contents

TableOfContents

Introduction

svn2bzr is a tool to convert [http://subversion.tigris.org Subversion] repositories into [http://bazaar-vcs.org Bazaar] repositories.

It does that by reading a dump file with the history of a given Subversion repository, and creating the Bazaar repository according to the given parameters.

Features

  • Stable file and revision IDs - svn2bzr produces stable file and revision IDs, meaning that if the same subversion repository is converted twice, the resulting bzr branches may interoperate.

  • Support for branches and tags - svn2bzr is able to convert all branches and tags of the subversion repository, splitting them into separate Bazaar branches, using a unique shared repository.

  • No external dependencies - svn2bzr doesn't depend on anything else besides a recent Python interpreter and Bazaar itself.

Basic usage

The basic command usage is:

svn2bzr.py [options] <dump file> <output dir>

Accepted options

The following options are accepted:

  • --prefix PATH

    • Will build the new repository as if the Subversion repository

      started at its PATH subdirectory. BRBR

    --include REGEXP

    • Add REGEXP to the ordered list of filtering expressions. If a path matches that expression before matching an exclude expression, the path will be converted. If no expressions match in the filtering list, the path is also considered. BRBR

    --exclude REGEXP

    • Add REGEXP to the ordered list of filtering expressions. If a path matches that expression before matching an include expression, the path won't be converted. If no expressions match in the filtering list, the path is considered. BRBR

    --scheme SCHEME

    • Define the conversion mechanism used. Currently there are two

      schemes: single, and trunk. The single scheme (the default) will convert everything into a single Bazaar 2.0 branch. The trunk scheme expects the Subversion repository to be in the trunk/tags/branches format, and will split the trunk, each tag, and each branch into a different Bazaar 2.0 branch.

    --log LEVEL

    • Define the logging level to LEVEL, which may be debug, info, warning, or error.

Examples

Convert everything inside a Subversion repository into a Bazaar 2.0 branch:

svn2bzr.py svn.dump bzr/

BR

Convert a repository using the trunk/tags/branches scheme into multiple Bazaar 2.0 branches:

svn2bzr.py --scheme=trunk svn.dump bzr/

BR

Convert just the trunk of a Subversion repository using the trunk/tags/branches scheme into a Bazaar 2.0 branch:

svn2bzr.py --prefix=trunk svn.dump bzr/

BRBR

Convert the trunk and the branches directories of a Subversion repository using the trunk/tags/branches scheme into multiple Bazaar 2.0 branches:

svn2bzr.py --scheme=trunk --exclude=tags svn.dump bzr/

Another way to do the same thing:

svn2bzr.py --scheme=trunk --include=trunk --include=branches --exclude='.*' svn.dump bzr/

Download

The current development version may be found in the following Bazaar branch:

Check the [http://code.launchpad.net/svn2bzr/ Launchpad code tab] to see how people have been working on the project.

Copyright (c) 2005-2007 Canonical Ltd.

License

svn2bzr is available under the GPL.

Author

svn2bzr was written by Gustavo Niemeyer <gustavo@niemeyer.net>