Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Differences between revisions 253 and 254
Revision 253 as of 2011-10-17 14:55:36
Size: 6668
Editor: jelmer
Comment: remove some obsolete data
Revision 254 as of 2013-05-24 18:21:05
Size: 344
Editor: jelmer
Comment: Just provide link to homepage, now restructuredtext support on the wiki is broken
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from BzrForeignBranches/Subversion
#FORMAT rst
Bazaar support for Subversion branches, working trees and repositories
======================================================================
= Bazaar support for Subversion branches, working trees and repositories =
Line 6: Line 3:

.. contents::

Introduction
------------

bzr-svn is a plugin that allows Bazaar_ direct access to Subversion_
bzr-svn is a plugin that allows Bazaar direct access to Subversion
Line 16: Line 7:
.. _Bazaar: http://bazaar-vcs.org/
.. _Subversion: http://subversion.tigris.org/

The plugin can at the moment be used to commit to, pull from, merge from, push
to and view logs of Subversion branches from Bazaar.

It also provides a Bazaar subcommand ("bzr svn-import") for converting
complete Subversion repositories to Bazaar repositories.

Features
--------

The following features are currently present:

- Connecting to remote Subversion repositories over all
  protocols supported by Subversion itself (at present:
  svn://, svn+ssh://, http:// (webdav), file://)
  as well as dump files.

  Checkouts, lightweight checkouts and branching works.

- Integrates well with Bazaar.

- Track Bazaar merges in Subversion.

- Subversion working copies. Can be modified, queried
  (``bzr status`` on a svn- native working copy created with
  ``svn co`` works) and committed from.

- Committing to Subversion from Bazaar.

- Push Bazaar revisions to Subversion.

- Follow branch copies. Revision history is not
  truncated when a branch was copied in Subversion.

- Efficiently uses network bandwidth.

- Recognizes file metadata (executable bits, symbolic links).

- 'svn-import' command with functionality similar to svn2bzr_.

.. _svn2bzr: http://bazaar-vcs.org/svn2bzr

- Ability to track merges done with SVK_ and write merges from SVK/Subversion
  branches in a format understandable by SVK.

.. _SVK: http://svk.elixus.org/

- Writes svn:mergeinfo property used by Subversion 1.5.

- Generates consistent file ids and revision ids. Two branches made using
  this plugin of the same Subversion branch will result in *exactly* the same
  Bazaar branch.

- Handles complex operations in Subversion: committing to two branches at
  once, upgrading directories to branches, copies from early revisions, ...

- Tested on Linux, Windows and Mac OS X.

Documentation
-------------

bzr-svn can be used through the regular Bazaar user interface, see the
`Bazaar Documentation Overview`_ and the `Bazaar User Guide`_ for documentation on that.

.. _Bazaar Documentation Overview: Documentation
.. _Bazaar User Guide: http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#bzr-svn

Some bzr-svn specific issues are answered by the FAQ included with bzr-svn.

Support
-------
Please use the `regular Bazaar channels for support`_ for questions about bzr-svn.

.. _regular Bazaar channels for support: BzrSupport

Limitations
-----------

Unsupported Subversion File Properties
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some Subversion properties can currently not be represented in Bazaar and are
therefore ignored for the time being:

- 'svn:ignore' is not imported. There should be a `Repository.get_ignores(revid)` call in
  Bazaar rather than a magic '.bzrignore' file.
  Spec at https://launchpad.net/products/bzr/+spec/new-ignore-rules

- 'svn:mime-type'

- 'svn:eol-style'. Requires eol support in Bazaar.

- 'svn:keywords'. Requires keywords support in Bazaar. Spec at https://launchpad.net/products/bzr/+spec/bzr-keyword-expansion. `#81463 <https://bugs.launchpad.net/bzr-svn/+bug/81463>`_

Other features currently held back by Bazaars feature set:

- 'svn:externals'. Externals should be mapped to Bazaar 'by-reference'
  nested branches and the other way around. This can't be implemented
  until Bazaars nested branch support lands. The current work-in-progress also
  needs support for pointing at the tip of a branch rather than at a
  specific revision.

- Tracking copies.
  . Spec at https://launchpad.net/products/bzr/+spec/filecopies

- Showing SVN merges as merges in Bazaar.
  . Requires support for cherry-picking. Spec at https://launchpad.net/products/bzr/+spec/bzr-cpick-data

Bazaar Commands
~~~~~~~~~~~~~~~

All Bazaar commands should work fine with Subversion branches or should properly inform you that they do not. If you find any commands that don't work, please file a bug.

Releases
--------

See https://launchpad.net/bzr-svn/+download for a current list of releases.

Requirements
------------

Bazaar
~~~~~~

You will need a recent version of Bazaar. bzr-svn
will warn if the Bazaar release used is too old or too new.

Subvertpy
~~~~~~~~~

You need the `Subvertpy`_ Python module, which provides Python bindings
for the Subversion library.

.. _Subvertpy: http://samba.org/~jelmer/subvertpy/

Installation
------------

Simply place this directory in ~/.bazaar/plugins and you should be able
to check out branches from Subversion using bzr. Make sure the directory
name is 'svn'.

Packages
--------

Instead of installing the plugin yourself, you can also install a prepackaged
version of it for your platform.

Windows Setup
~~~~~~~~~~~~~
The standard `Windows installers for Bazaar`_ include bzr-svn.

.. _Windows installers for Bazaar: https://launchpad.net/bzr/+download

Debian/Ubuntu GNU/Linux
~~~~~~~~~~~~~~~~~~~~~~~
Debian/Ubuntu packages are available from Debian experimental/sid and the Bazaar PPA.

Ubuntu's in-development release usually also contain the latest release.

Debian's main repositories also have bzr-svn since at least the lenny release.

OpenSuse Linux
~~~~~~~~~~~~~~
OpenSuse packages created by Michael Wolf are available from http://download.opensuse.org/repositories/home:/maw:/bzr/

Gentoo Linux
~~~~~~~~~~~~
An unofficial Gentoo overlay containing a bzr-svn ebuild are hosted on launchpad at https://launchpad.net/bzr-gentoo-overlay/.

Mac OS X
~~~~~~~~

bzr-svn is included in the MacOSXBundle_.

bzr-svn is now also available in MacPorts, and can be installed with: ``$ sudo port install bzr-svn``

Bugs
----

Please file bug reports in launchpad. The product URL for bzr-svn is
https://launchpad.net/bzr-svn/.

Upgrading
~~~~~~~~~

If you used ancient versions of bzr-svn that used a different mapping mechanism (< 0.4) you may want to use the ``rebase-foreign`` command that is available in the `bzr-rewrite`_ plugin.

.. _bzr-rewrite: http://bazaar-vcs.org/Rewrite


..
 vim: ft=rest
Homepage: http://samba.org/~jelmer/bzr-svn/

Bazaar support for Subversion branches, working trees and repositories

bzr-svn is a plugin that allows Bazaar direct access to Subversion repositories. It allows most bzr commands to work directly against Subversion repositories, as if you were using bzr with a native bzr repository.

Homepage: http://samba.org/~jelmer/bzr-svn/