~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/branch.py

(jelmer) Make sure that a branch user URL uniquely identifies that branch,
 and can be used to open it. (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2438
2438
            raise ValueError('a_bzrdir must be supplied')
2439
2439
        else:
2440
2440
            self.bzrdir = a_bzrdir
2441
 
        self._base = self.bzrdir.transport.clone('..').base
 
2441
        self._user_transport = self.bzrdir.transport.clone('..')
 
2442
        if name is not None:
 
2443
            self._user_transport.set_segment_parameter(
 
2444
                "branch", urlutils.escape(name))
 
2445
        self._base = self._user_transport.base
2442
2446
        self.name = name
2443
 
        # XXX: We should be able to just do
2444
 
        #   self.base = self.bzrdir.root_transport.base
2445
 
        # but this does not quite work yet -- mbp 20080522
2446
2447
        self._format = _format
2447
2448
        if _control_files is None:
2448
2449
            raise ValueError('BzrBranch _control_files is None')
2452
2453
        Branch.__init__(self)
2453
2454
 
2454
2455
    def __str__(self):
2455
 
        if self.name is None:
2456
 
            return '%s(%s)' % (self.__class__.__name__, self.user_url)
2457
 
        else:
2458
 
            return '%s(%s,%s)' % (self.__class__.__name__, self.user_url,
2459
 
                self.name)
 
2456
        return '%s(%s)' % (self.__class__.__name__, self.user_url)
2460
2457
 
2461
2458
    __repr__ = __str__
2462
2459
 
2466
2463
 
2467
2464
    base = property(_get_base, doc="The URL for the root of this branch.")
2468
2465
 
 
2466
    @property
 
2467
    def user_transport(self):
 
2468
        return self._user_transport
 
2469
 
2469
2470
    def _get_config(self):
2470
2471
        return _mod_config.TransportConfig(self._transport, 'branch.conf')
2471
2472