~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to BRANCH.TODO

  • Committer: Martin Pool
  • Date: 2006-01-12 08:37:10 UTC
  • mto: (1185.65.25 storage)
  • mto: This revision was merged to the branch mainline in revision 1550.
  • Revision ID: mbp@sourcefrog.net-20060112083710-642730d8ae44f906
Various updates to make storage branch mergeable:

 * remove duplication of needs_read_lock, needs_write_lock decorators, 
   and move them into bzrlib.decorators

 * add Branch.peek_lock_mode

 * some docs

 * fix up merge flux in tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# This file is for listing TODOs for branches that are being worked on.
2
2
# It should ALWAYS be empty in the mainline or in integration branches.
3
 
4
 
 * Update the tests - all tests that were for branch and now check 
5
 
   branch.control_files.something, should be made into tests for
6
 
   lockable files. mostly Done, grep for FIXME in the diff.
7
 
 * Clarify what should happen with transactions - there are two issues
8
 
   - the tests for branch transactions are no longer branch api level, rather they
9
 
     are bzrbranch -which has a control_files attribute- specific.
10
 
   - audit the new code to ensure correct unlocking in failures where
11
 
     we are holding two locks at once. (i.e. branch lock and repo lock).
12
 
 * test_working_tree tests should not peek in branch.control_files.
13
 
 * The needs_read_lock decorators have been duplicated I think, unduplicate
14
 
   them again.
 
3
 
 
4
The purpose of this branch is to separate the storage of history within a
 
5
branch from the logical identity of the branch itself (being the tip
 
6
pointer and revision-history).
 
7
 
 
8
The major refactoring here is that historical data (revisions, file
 
9
weaves, etc) are stored not in the Branch itself but in
 
10
`branch.repository`, which is a `Repository` object.
 
11
 
 
12
All the immediately accessible history for a Branch is stored in its
 
13
repository, but the repository might hold information on multiple
 
14
branches, to implement what's called "shared storage".