Code/PrivateBranches

Not logged in - Log In / Register

Revision 4 as of 2010-10-18 04:13:41

Clear message

Launchpad Help > Code > Private branches

Branch access control

Launchpad supports a team-based access control for code branches. The branches for a project are controlled by the branch visibility setting for one or more teams plus the default policy. For a given project, a team can have a visibility setting of "public", "private", or "private only" for one or more teams. The default policy can be "Public" or "Forbidden".

Private branches are a feature available on request for commercial projects. For more information, see CommercialHosting.

Setting up private branches for a project

Create a development team

Before you can set up private branches for your project, you must have a team that will be given access to the branches; membership in this team will govern who has access to the project's code. Make sure this team is set to Restricted or Moderated membership. In the rest of this page, we'll refer to this team as the project's devel team.

Once you have created the devel team, you will need to get someone from Canonical's Launchpad team to set up private branches for the devel team. Send an email to commercial@launchpad.net asking to have private branches set up for your devel team and project, providing the name of each.

Once you are told private branches have been set up for your team and project, you can create a development focus branch (and other branches) for your project as usual for teams. It is highly recommended that you initially push a branch with no proprietary code to ensure the privacy rules are working as you expected. When satisfied you can begin pushing up the private code.

Private branches and teams

Once private branches are set up, any team that wants access to the code for a project must have a new visibility rule configured for the team. Since it is cumbersome to have to contact Launchpad for each team, the devel team can function as a master team for each team needing access.

Setting up additional teams with the devel as a master team

To set up other teams through the devel team, just create a new team as you created the devel team. In particular, remember to set the team to Restricted or Moderated Membership. Then add the new team as a member to the devel team. The new team and its members should now have access to the private branches for the project.