wiki:BazaarMirror

Version 5 (modified by washort, 4 years ago) (diff)

commit instructions

The Twisted codebase is mirrored into a set of Bazaar branches for those developers who prefer to use bzr instead of svn. This page explains how you can get copies of these branches. In the following directions, ~/Projects/Twisted is used as an example of a directory where your Twisted code is stored; you can replace it with any other directory.

Shared repository

Use Bazaar 2.0 or later

When branching Twisted, it's recommended to create your local branch inside of a Bazaar "shared repository". A shared repository is a directory on your filesystem that you create bazaar branches within. When a bazaar branch is created within a shared repository, all of the revision data is shared inside the repository, instead of being stored independently in each branch. This makes further branching from the network much faster, and saves disk space. The following command should create a proper repository:

bzr init-repo ~/Projects/Twisted

You must use Bazaar 2.0.0 or newer.

Launchpad's mirror - trunk only

Launchpad provides a mirror of Twisted trunk only. It can be fetched with the following command:

cd ~/Projects/Twisted
bzr branch lp:twisted

Twisted's mirrors - all branches

We provide mirrors of *all* the branches of Twisted, so if you need something other than trunk, you can get it. They are available under http://svn.twistedmatrix.com/bzr/Twisted/. For example, to get trunk:

cd ~/Projects/Twisted
bzr branch http://svn.twistedmatrix.com/bzr/Twisted/trunk

Or a branch named "fix-bug-1234":

cd ~/Projects/Twisted
bzr branch http://svn.twistedmatrix.com/bzr/Twisted/branches/fix-bug-1234

Committing a Bazaar branch to a Subversion branch

Doing this, of course, requires bzr-svn.

To create a Subversion branch from a Bazaar branch, first create the branch using svn. bzr-svn will create the branch and add the changes in a single commit, which confuses Subversion tools such as Combinator.

svn cp svn+ssh://svn.twistedmatrix.com/svn/Twisted/trunk svn+ssh://sn.twistedmatrix.com/svn/Twisted/branches/fix-bug-1234

Then push your Bazaar branch to the new Subversion branch.

cd ~/Projects/Twisted/fix-bug-1234
bzr push svn+ssh://svn.twistedmatrix.com/svn/Twisted/branches/fix-bug-1234

Committing a Bazaar branch to trunk

As before, bzr-svn is required.

If you haven't yet done so, fetch a Bazaar branch from Twisted trunk, as described above. Then merge the Bazaar branch into it.

bzr merge ../fix-bug-1234

If you don't have a local version of this branch you can just use the URL to it.

bzr merge http://svn.twistedmatrix.com/bzr/Twisted/branches/fix-bug-1234

Commit the merge.

bzr commit -m '<commit message here>'

Push the changes to Subversion.

bzr push --remember svn+ssh://svn.twistedmatrix.com/svn/Twisted/trunk

(Later pushes from this branch can be done as bzr push without the URL if --remember is used.)