~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/colocated-branches.txt

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-11-17 03:20:35 UTC
  • mfrom: (4792.4.3 456036)
  • Revision ID: pqm@pqm.ubuntu.com-20091117032035-s3sgtlixj1lrminn
(Gordon Tyler) Fix IndexError during 'bzr ignore /' (#456036)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
Allowing multiple branches to live under the same directory in the file
18
18
system means that it is possible to very easily share the same working
19
19
tree and repository between those branches, without having a lot of fs
20
 
infrastructure.
 
20
infrastructure. 
21
21
 
22
22
Git and Mercurial (can) store multiple branches under a single directory
23
23
in the file system - per repository, so to speak. In order for this to
47
47
~~~~~~~~~~
48
48
 
49
49
Bazaar URLs need to have some way to specify a colocated branch other
50
 
than the current HEAD. Several options have been discussed, each with
 
50
than the current HEAD. Several options have been discussed, each with 
51
51
its own advantages and disadvantages: This was discussed on the mailing
52
52
list, most notably the use of a ";branch=NAME" suffix as well as a special
53
 
separation character (+, =, etc), but no final conclusion was reached.
 
53
separation character (+, =, etc), but no final conclusion was reached. 
54
54
 
55
55
https://lists.ubuntu.com/archives/bazaar/2008q4/050105.html
56
56
 
57
57
Code Changes
58
58
~~~~~~~~~~~~
59
59
 
60
 
BzrDir should support a BzrDir.supports_colocated_branches() call as well as
 
60
BzrDir should support a BzrDir.supports_colocated_branches() call as well as 
61
61
BzrDir.colocated_branches property that contains a colocated branch container,
62
 
that can be used to add / remove colocated branches as well as change the
63
 
currently active colocated branch.
 
62
that can be used to add / remove colocated branches as well as change the 
 
63
currently active colocated branch. 
64
64
 
65
65
::
66
66
 
87
87
           def destroy_branch(self, name):
88
88
                 """Destroy the specified branch.
89
89
                        
90
 
                This will remove the branch from disk."""
 
90
                This will remove the branch from disk.""" 
91
91
 
92
92
If the particular BzrDir implementation doesn't support colocated
93
93
branches, it can just return a dummy container that just contains a
94
 
HEAD branch.
 
94
HEAD branch. 
95
95
 
96
96
Looms can of course return a container with all their threads.
97
97
 
106
106
feature in its own file formats.
107
107
 
108
108
Eventually, Bazaar could easily support colocated branches by just
109
 
creating a new branch transport for each colocated branch and have a
 
109
creating a new branch transport for each colocated branch and have a 
110
110
"regular" branch live there. This would require something like
111
111
BzrDirMeta2 though.
112
112