launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #04977
[Merge] lp:~wallyworld/launchpad/branch-transitively_private-attribute into lp:launchpad
The proposal to merge lp:~wallyworld/launchpad/branch-transitively_private-attribute into lp:launchpad has been updated.
Description changed to:
This branch can only be deployed after the following db-devel branches have been deployed to lp.net:
lp:~wallyworld/launchpad/branch-privacy-trigger
lp:~wallyworld/launchpad/branch-transitively-private-column
A branch to provide a garbo job to populate the transitively_private column for existing branches.
Bug 568121 requires that public branches stacked on private branches are shown as private. This mp introduces a new Branch attribute: transitively_private. The attribute is maintained by a db trigger and allows both queries and application code to use a common attribute for determining whether a branch is truly private. This branch allows some previously deployed code to recursively look at stacked on branches to populate the "private" attribute to be replaced with a delegated call to transitively_private.
== Implementation ==
Essentially: simply replace uses of Branch.private with Branch.transitively_private in Storm queries and also hand coded SQL.
Also a bit of code to ensure that when branch.setPrivate() is called, branch.transitively_private is invalidated on that instance so that it is reloaded from the db.
== Tests ==
Existing tests using private branches were altered so that some of the private branches were made transitively private.
Changed tests in:
- test_branchcollection
- test_branchlookup
- test_revision
- test_branchmergeproposal
- test_branch
Plus added tests:
TestUpdateRevisionCacheForBranch
- test_revisions_for_transitive_private_branch_marked_private
- test_existing_transitive_private_revisions_with_public_branch
TestGetByLPPath
- test_transitive_private_branch
- test_transitive_private_linked_branch
== Lint ==
Linting changed files:
lib/lp/code/model/branch.py
lib/lp/code/model/branchcollection.py
lib/lp/code/model/branchlookup.py
lib/lp/code/model/branchmergeproposal.py
lib/lp/code/model/revision.py
lib/lp/code/model/tests/test_branch.py
lib/lp/code/model/tests/test_branchcollection.py
lib/lp/code/model/tests/test_branchlookup.py
lib/lp/code/model/tests/test_branchmergeproposal.py
lib/lp/code/model/tests/test_revision.py
lib/lp/registry/model/distribution.py
lib/lp/registry/tests/test_person.py
lib/lp/testing/factory.py
./lib/lp/code/model/tests/test_branchcollection.py
759: local variable 'mp' is assigned to but never used
770: local variable 'mp' is assigned to but never used
./lib/lp/code/model/tests/test_revision.py
312: local variable 'b1' is assigned to but never used
506: local variable 'rev2' is assigned to but never used
529: local variable 'rev2' is assigned to but never used
537: local variable 'rev3' is assigned to but never used
556: local variable 'rev1' is assigned to but never used
565: local variable 'rev2' is assigned to but never used
635: local variable 'last_scanned_id' is assigned to but never used
For more details, see:
https://code.launchpad.net/~wallyworld/launchpad/branch-transitively_private-attribute/+merge/75325
--
https://code.launchpad.net/~wallyworld/launchpad/branch-transitively_private-attribute/+merge/75325
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~wallyworld/launchpad/branch-transitively_private-attribute into lp:launchpad.
References