Diff for "FeatureHighlights/BazaarHosting"

Not logged in - Log In / Register

Differences between revisions 4 and 5
Revision 4 as of 2007-03-27 08:26:12
Size: 3879
Editor: 81
Comment: simplify language
Revision 5 as of 2007-03-27 10:10:10
Size: 4076
Editor: 217
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Launchpad can host branches of your project code. It also allows you to register branches that are actually hosted elsewhere (because the revision control system we use is entirely distributed). Either way, Launchpad gives a convenient catalog of the code that is currently under development for the project. Launchpad can host branches of your project's code. It also allows you to register branches that are actually hosted elsewhere, because the revision control system we use is entirely distributed.

Either way, Launchpad gives you a convenient catalog of the code currently under development for your project.
Line 7: Line 9:
With CVS or SVN, there is a well-defined set of people who can make changes to the code that is centrally hosted in revision control. If you are not in that set, then you can't use the same revision control system as everyone else. Launchpad, and Bazaar, eliminate that problem. Everybody has full revision control, even if they are not yet a committer to the project. Anybody can make their own branches, at any time, without having to ask permission first. With CVS or SVN, there is a well-defined set of people who can make changes to the code that is centrally hosted in revision control. If you are not in that group, then you can't use the same revision control system as everyone else.

Launchpad and Bazaar eliminate that problem. Everybody has full revision control, even if they are not yet an official committer to the project. Anybody can make their own branches, at any time, without having to ask permission first.
Line 17: Line 21:
As you can see, Pete has been pretty busy! He's published branches of at least 6 projects in Launchpad: ltsp, gisomount, student-control-panel, grasynco, reforany and tcm. As you can see, Pete has been pretty busy! He's published branches of at least six projects in Launchpad: ltsp, gisomount, student-control-panel, grasynco, reforany and tcm.
Line 21: Line 25:
Not only can you create your own branches of ANY project in Launchpad, you can also publish those branches and have them show up in the listings of work in progress for the project. You don't need any special permission to have your work show up in the listings for any project on the site. Major project branches - that represent a stable line of development, or the trunk, do get special placement on those listings, but all the branches including yours will show up in the same place. Not only can you create your own branches of ANY project in Launchpad, you can also publish those branches and have them show up in the listings of work in progress for the project. Importantly, you don't need any special permission to have your work show up in the listings for any project in Launchpad.

Major project branches - representing a stable line of development, or the trunk - do get special placement on those listings, but all the branches, including yours, will show up in the same place.
Line 31: Line 37:
You can see that at least 4 people have their own branches of Update Manager: Benjamin Montgomery, Michael Vogt, Sebastian Heinlein, and Brian Murray. In addition, there are two branches published by the "Ubuntu Core Development Team". We'll take a closer look at team branches shortly. You can see that at least four people have their own branches of Update Manager: Benjamin Montgomery, Michael Vogt, Sebastian Heinlein, and Brian Murray. In addition, there are two branches published by the "Ubuntu Core Development Team". We'll take a closer look at team branches shortly.
Line 33: Line 39:
You can publish a branch on any server that you can write to, using FTP, SFTP, HTTP-Webdav or just by mounting the filesystem via NFS or another network protocol. Then you can share the branch with the world using plain HTTP or HTTPS. For faster performance you can use SFTP or the custom BZR protocol which is designed to allow very fast access to branches (a very active area of development in Bazaar right now!). Launchpad includes an SFTP server to which you can push your branches. You can push branches for existing projects, or you can publish "any old stuff" which is unclassified. === Publishing branches with Bazaar and Launchpad ===
Line 35: Line 41:
You can register a branch published on your own server with Launchpad. This means that Launchpad will monitor the branch, and let people interested in it know whenever you add new code to the branch. It also means that Launchpad will make a backup of your code which is accessible to everybody even if your server goes offline. And of course it means that your branch will show up in these listings. You can publish a branch on any server that you can write to, using FTP, SFTP, HTTP-Webdav or just by mounting the filesystem via NFS or another network protocol. Once it's published, you can share the branch with the world using plain HTTP or HTTPS. For faster performance you can use SFTP or the custom BZR protocol, which is designed to allow very fast access to branches - a very active area of development in Bazaar right now!
Line 37: Line 43:
All of this is specifically designed to lower the barriers to participation in your project. A new developer who wants to make a small contribution can do so without having first to get permission to change the development trunk. He can branch from the trunk, work on his feature with full revision control, publish that branch to Launchpad or any other web hosting service, and eventually ask for his work to be merged into the trunk by a developer who does have commit rights there. Launchpad includes an SFTP server to which you can push your branches. You can push branches for existing projects, or you can publish "any old stuff", which is unclassified.

=== Mirroring external Bazaar branches with Launchpad ===

If you have a branch published on your own server, you can still register it with Launchpad. Launchpad will monitor it and let interested people know whenever you add new code.

Launchpad will also make a backup of your code, which is accessible to everybody even if your server goes offline. And of course it means that your branch will show up in the project's listings.

=== Lowering barriers to participation ===

All of this is specifically designed to lower the barriers to participation in your project. A new developer who wants to make a small contribution can do so without having to first get permission to change the development trunk. He can branch from the trunk, work on his feature with full revision control, publish that branch to Launchpad or any other web hosting service, and eventually ask for his work to be merged into the trunk by a developer who does have commit rights there.

Bazaar branch hosting

Launchpad can host branches of your project's code. It also allows you to register branches that are actually hosted elsewhere, because the revision control system we use is entirely distributed.

Either way, Launchpad gives you a convenient catalog of the code currently under development for your project.

Everybody has revision control

With CVS or SVN, there is a well-defined set of people who can make changes to the code that is centrally hosted in revision control. If you are not in that group, then you can't use the same revision control system as everyone else.

Launchpad and Bazaar eliminate that problem. Everybody has full revision control, even if they are not yet an official committer to the project. Anybody can make their own branches, at any time, without having to ask permission first.

For example, let's look at the work of Pete Savage:

A snapshot of the relevant part of the page is included here as at the time of writing:

attachment:petesavagebranches.png

As you can see, Pete has been pretty busy! He's published branches of at least six projects in Launchpad: ltsp, gisomount, student-control-panel, grasynco, reforany and tcm.

Anybody can publish branches

Not only can you create your own branches of ANY project in Launchpad, you can also publish those branches and have them show up in the listings of work in progress for the project. Importantly, you don't need any special permission to have your work show up in the listings for any project in Launchpad.

Major project branches - representing a stable line of development, or the trunk - do get special placement on those listings, but all the branches, including yours, will show up in the same place.

For example, take a look at the branches for Ubuntu's "Update Manager":

The relevant part of the page at the time of writing is included here:

attachment:updatemanagerbranches.png

You can see that at least four people have their own branches of Update Manager: Benjamin Montgomery, Michael Vogt, Sebastian Heinlein, and Brian Murray. In addition, there are two branches published by the "Ubuntu Core Development Team". We'll take a closer look at team branches shortly.

Publishing branches with Bazaar and Launchpad

You can publish a branch on any server that you can write to, using FTP, SFTP, HTTP-Webdav or just by mounting the filesystem via NFS or another network protocol. Once it's published, you can share the branch with the world using plain HTTP or HTTPS. For faster performance you can use SFTP or the custom BZR protocol, which is designed to allow very fast access to branches - a very active area of development in Bazaar right now!

Launchpad includes an SFTP server to which you can push your branches. You can push branches for existing projects, or you can publish "any old stuff", which is unclassified.

Mirroring external Bazaar branches with Launchpad

If you have a branch published on your own server, you can still register it with Launchpad. Launchpad will monitor it and let interested people know whenever you add new code.

Launchpad will also make a backup of your code, which is accessible to everybody even if your server goes offline. And of course it means that your branch will show up in the project's listings.

Lowering barriers to participation

All of this is specifically designed to lower the barriers to participation in your project. A new developer who wants to make a small contribution can do so without having to first get permission to change the development trunk. He can branch from the trunk, work on his feature with full revision control, publish that branch to Launchpad or any other web hosting service, and eventually ask for his work to be merged into the trunk by a developer who does have commit rights there.

Let's take a closer look at the process of [:ReviewersGuide/EasyBranching:creating a branch].

FeatureHighlights/BazaarHosting (last edited 2008-06-17 14:21:19 by localhost)