/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

  • Committer: Robert Collins
  • Date: 2010-05-06 23:41:35 UTC
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100506234135-yivbzczw1sejxnxc
Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
expected to return an object which can be used to unlock them. This reduces
duplicate code when using cleanups. The previous 'tokens's returned by
``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
on the result of the lock_write. ``repository.RepositoryWriteLockResult``
and ``branch.BranchWriteLockResult`` document this. (Robert Collins)

``log._get_info_for_log_files`` now takes an add_cleanup callable.
(Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
273
273
    def create_workingtree(self, revision_id=None, from_branch=None):
274
274
        raise errors.NotLocalUrl(self.transport.base)
275
275
 
276
 
    def find_branch_format(self, name=None):
 
276
    def find_branch_format(self):
277
277
        """Find the branch 'format' for this bzrdir.
278
278
 
279
279
        This might be a synthetic object for e.g. RemoteBranch and SVN.
280
280
        """
281
 
        b = self.open_branch(name=name)
 
281
        b = self.open_branch()
282
282
        return b._format
283
283
 
284
 
    def get_branch_reference(self, name=None):
 
284
    def get_branch_reference(self):
285
285
        """See BzrDir.get_branch_reference()."""
286
 
        if name is not None:
287
 
            # XXX JRV20100304: Support opening colocated branches
288
 
            raise errors.NoColocatedBranchSupport(self)
289
286
        response = self._get_branch_reference()
290
287
        if response[0] == 'ref':
291
288
            return response[1]
322
319
            raise errors.UnexpectedSmartServerResponse(response)
323
320
        return response
324
321
 
325
 
    def _get_tree_branch(self, name=None):
 
322
    def _get_tree_branch(self):
326
323
        """See BzrDir._get_tree_branch()."""
327
 
        return None, self.open_branch(name=name)
 
324
        return None, self.open_branch()
328
325
 
329
326
    def open_branch(self, name=None, unsupported=False,
330
327
                    ignore_fallbacks=False):
1003
1000
    def lock_read(self):
1004
1001
        """Lock the repository for read operations.
1005
1002
 
1006
 
        :return: A bzrlib.lock.LogicalLockResult.
 
1003
        :return: An object with an unlock method which will release the lock
 
1004
            obtained.
1007
1005
        """
1008
1006
        # wrong eventually - want a local lock cache context
1009
1007
        if not self._lock_mode:
1017
1015
                repo.lock_read()
1018
1016
        else:
1019
1017
            self._lock_count += 1
1020
 
        return lock.LogicalLockResult(self.unlock)
 
1018
        return self
1021
1019
 
1022
1020
    def _remote_lock_write(self, token):
1023
1021
        path = self.bzrdir._path_for_remote_call(self._client)
1315
1313
        return self._real_repository.make_working_trees()
1316
1314
 
1317
1315
    def refresh_data(self):
1318
 
        """Re-read any data needed to synchronise with disk.
 
1316
        """Re-read any data needed to to synchronise with disk.
1319
1317
 
1320
1318
        This method is intended to be called after another repository instance
1321
1319
        (such as one used by a smart server) has inserted data into the
1322
 
        repository. On all repositories this will work outside of write groups.
1323
 
        Some repository formats (pack and newer for bzrlib native formats)
1324
 
        support refresh_data inside write groups. If called inside a write
1325
 
        group on a repository that does not support refreshing in a write group
1326
 
        IsInWriteGroupError will be raised.
 
1320
        repository. It may not be called during a write group, but may be
 
1321
        called at any other time.
1327
1322
        """
 
1323
        if self.is_in_write_group():
 
1324
            raise errors.InternalBzrError(
 
1325
                "May not refresh_data while in a write group.")
1328
1326
        if self._real_repository is not None:
1329
1327
            self._real_repository.refresh_data()
1330
1328
 
2398
2396
    def lock_read(self):
2399
2397
        """Lock the branch for read operations.
2400
2398
 
2401
 
        :return: A bzrlib.lock.LogicalLockResult.
 
2399
        :return: An object with an unlock method which will release the lock
 
2400
            obtained.
2402
2401
        """
2403
2402
        self.repository.lock_read()
2404
2403
        if not self._lock_mode:
2409
2408
                self._real_branch.lock_read()
2410
2409
        else:
2411
2410
            self._lock_count += 1
2412
 
        return lock.LogicalLockResult(self.unlock)
 
2411
        return self
2413
2412
 
2414
2413
    def _remote_lock_write(self, token):
2415
2414
        if token is None: