Bazaar-NG User Branches

From The Linux Foundation
Jump to: navigation, search

User Branches

The Bazaar-NG repository site has a section for "unofficial" branches. These are bzr branches that are not officially sanctioned by the FSG, and are typically owned by individual users. Only the branch owner can merge into a user branch; in particular, the Bazaar-NG Patch Queue Manager is forbidden from merging them. (Of course, PQM can be used to merge from a user branch into an official branch.)

Creating a User Branch

Only users with shell access to webservices may publish an unofficial branch on the FSG repository site.

Unofficial branches live in /srv/www/bzr/unofficial on webservices. All shell users should be able to create a directory there, and copy their branch into that directory. After this, one should be able to "bzr branch".

To get the project to work with bzr-webserve, edit the configuration file (/srv/www/bzr/unofficial/bazaar-webserve-dir.config). Add a section for your project at the end of the file. It will look like this:

author = John Doe
email =
description = Short one-line description
name = my-project-dir
path = my-project-dir

Maintaining a User Branch

If you prefer to publish as a separate step, you can create a local branch, and rsync that when you feel like it:

bzr branch
cd foo
(make changes)
bzr commit
rsync -avv *

If not, you can create a bound branch instead:

bzr checkout s
cd foo
(make changes)
bzr commit

Notice that the checkout uses an sftp: URL instead of a http: URL. This is required because HTTP is (for now) a read-only protocol for branching. For sftp: URLs to work, remember that you need to install the paramiko Python module.

Deleting a User Branch

You can hide a user branch by removing its entry in bazaar-webserve-dir.config. It will not show up on the list of unofficial projects, but can still be branched, pulled, etc. with the original URL.

To remove a branch completely, first hide it, then delete its directory from webservices.