The Linux Foundation

 
Bazaar-NG User Branches

From The Linux Foundation

Contents

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 http://bzr.freestandards.org/unofficial/my-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:

[my-project-dir]
author = John Doe
email = johndoe@example.com
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 http://bzr.freestandards.org/unofficial/foo
cd foo
(make changes)
bzr commit
rsync -avv * me@webservices.freestandards.org:/srv/www/bzr/unofficial/foo
(...)

If not, you can create a bound branch instead:

bzr checkout sftp://me@webservices.freestandards.org/srv/www/bzr/unofficial/foo
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.


[Article] [Discussion] [View source] [History]