Diff for "Code/PrivateBranches"

Not logged in - Log In / Register

Differences between revisions 4 and 5
Revision 4 as of 2010-10-18 04:13:41
Size: 2893
Editor: localhost
Comment:
Revision 5 as of 2012-09-06 17:42:30
Size: 2017
Editor: pool-108-28-25-212
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
= Branch access control = = Branch information types =
Line 7: Line 7:
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".
Launchpad uses "information type" to determine who can know about a branch. Anyone can see a branch that is Public or Public Security. Private Security and Proprietary information types restrict who may know about the branch to only the people that the project shares that information with.
Line 10: Line 9:
 * '''Public''' branches can be seen by anyone.
 * '''Private''' branches can only be seen by members of the team associated with the project's branch visibility rule. They can subsequently be made Public.
 * '''Private Only''' branches are like Private branches, but can never be made public.
Branches that fix "Private Security" bugs can themselves be set to "Private Security" to ensure only trusted people can see the branch.
Line 14: Line 11:
Private branches are a feature available on request for commercial projects. For more information, see [[CommercialHosting]]. Proprietary branches are a feature available on request for projects with commercial subcriptions. For more information, see [[CommercialHosting]].
Line 16: Line 13:
== Setting up private branches for a project ==
Line 18: Line 14:
=== Create a development team === = Bug sharing policies =
Line 20: Line 16:
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. Visit the project's Sharing page. If the project has a [[CommercialHosting | commercial subscription]], set the "branch sharing policy" to control the default information type of each branch and restrict what types they can be change to.
Line 22: Line 18:
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. When the policy is set to something "Proprietary, can be public", all new branches are Proprietary. They are only visible to people that the project shares Proprietary information with and the people that are subscribed to the branch. The branch can be made public later. Set the branch sharing policy to "Proprietary" to ensure branches can only be proprietary, they cannot be changed without first changing the policy.
Line 24: Line 20:
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 [[Code/TeamBranches|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. Non-commercial projects cannot set the branch sharing policy. Branches are public by default, but can be change to public security if needed.
Line 26: Line 22:
== Private branches and teams ==
Line 28: Line 23:
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. = Share confidential information with trusted teams =
Line 30: Line 25:
=== Setting up additional teams with the devel as a master team === Visit the project's Sharing page. Share the confidential information types with the development team, and any other team that you trust to see confidential bugs and branches.
Line 32: Line 27:
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. See [[Projects/Registering#sharing | Sharing]] to learn about managing who can see confidential information.

Launchpad Help > Code > Private branches

Branch information types

Launchpad uses "information type" to determine who can know about a branch. Anyone can see a branch that is Public or Public Security. Private Security and Proprietary information types restrict who may know about the branch to only the people that the project shares that information with.

Branches that fix "Private Security" bugs can themselves be set to "Private Security" to ensure only trusted people can see the branch.

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

Bug sharing policies

Visit the project's Sharing page. If the project has a commercial subscription, set the "branch sharing policy" to control the default information type of each branch and restrict what types they can be change to.

When the policy is set to something "Proprietary, can be public", all new branches are Proprietary. They are only visible to people that the project shares Proprietary information with and the people that are subscribed to the branch. The branch can be made public later. Set the branch sharing policy to "Proprietary" to ensure branches can only be proprietary, they cannot be changed without first changing the policy.

Non-commercial projects cannot set the branch sharing policy. Branches are public by default, but can be change to public security if needed.

Share confidential information with trusted teams

Visit the project's Sharing page. Share the confidential information types with the development team, and any other team that you trust to see confidential bugs and branches.

See Sharing to learn about managing who can see confidential information.

Code/PrivateBranches (last edited 2012-09-06 17:42:30 by pool-108-28-25-212)