~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/controldir.py

  • Committer: Vincent Ladeuil
  • Date: 2012-02-14 17:22:37 UTC
  • mfrom: (6466 +trunk)
  • mto: This revision was merged to the branch mainline in revision 6468.
  • Revision ID: v.ladeuil+lp@free.fr-20120214172237-7dv7er3n4uy8d5m4
Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
116
116
        :return: Dictionary mapping branch names to instances.
117
117
        """
118
118
        try:
119
 
           return { None: self.open_branch() }
 
119
           return { "": self.open_branch() }
120
120
        except (errors.NotBranchError, errors.NoRepositoryPresent):
121
121
           return {}
122
122
 
163
163
        """Create a branch in this ControlDir.
164
164
 
165
165
        :param name: Name of the colocated branch to create, None for
166
 
            the default branch.
 
166
            the user selected branch or "" for the active branch.
167
167
        :param append_revisions_only: Whether this branch should only allow
168
168
            appending new revisions to its history.
169
169
 
175
175
    def destroy_branch(self, name=None):
176
176
        """Destroy a branch in this ControlDir.
177
177
 
178
 
        :param name: Name of the branch to destroy, None for the default 
179
 
            branch.
 
178
        :param name: Name of the branch to destroy, None for the 
 
179
            user selected branch or "" for the active branch.
 
180
        :raise NotBranchError: When the branch does not exist
180
181
        """
181
182
        raise NotImplementedError(self.destroy_branch)
182
183
 
230
231
            raise errors.NoColocatedBranchSupport(self)
231
232
        return None
232
233
 
 
234
    def set_branch_reference(self, target_branch, name=None):
 
235
        """Set the referenced URL for the branch in this controldir.
 
236
 
 
237
        :param name: Optional colocated branch name
 
238
        :param target_branch: Branch to reference
 
239
        :raises NoColocatedBranchSupport: If a branch name was specified
 
240
            but colocated branches are not supported.
 
241
        :return: The referencing branch
 
242
        """
 
243
        raise NotImplementedError(self.set_branch_reference)
 
244
 
233
245
    def open_branch(self, name=None, unsupported=False,
234
246
                    ignore_fallbacks=False, possible_transports=None):
235
247
        """Open the branch object at this ControlDir if one is present.
291
303
    def _get_selected_branch(self):
292
304
        """Return the name of the branch selected by the user.
293
305
 
294
 
        :return: Name of the branch selected by the user, or None.
 
306
        :return: Name of the branch selected by the user, or "".
295
307
        """
296
308
        branch = self.root_transport.get_segment_parameters().get("branch")
297
 
        if branch is not None:
298
 
            branch = urlutils.unescape(branch)
299
 
        return branch
 
309
        if branch is None:
 
310
            branch = ""
 
311
        return urlutils.unescape(branch)
300
312
 
301
313
    def has_workingtree(self):
302
314
        """Tell if this controldir contains a working tree.
769
781
        return controldir._get_tree_branch()
770
782
 
771
783
    @classmethod
772
 
    def open_containing_tree_or_branch(klass, location):
 
784
    def open_containing_tree_or_branch(klass, location,
 
785
            possible_transports=None):
773
786
        """Return the branch and working tree contained by a location.
774
787
 
775
788
        Returns (tree, branch, relpath).
778
791
        raised
779
792
        relpath is the portion of the path that is contained by the branch.
780
793
        """
781
 
        controldir, relpath = klass.open_containing(location)
 
794
        controldir, relpath = klass.open_containing(location,
 
795
            possible_transports=possible_transports)
782
796
        tree, branch = controldir._get_tree_branch()
783
797
        return tree, branch, relpath
784
798