~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/smart/branch.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:
292
292
        if repo_token == '':
293
293
            repo_token = None
294
294
        try:
295
 
            repo_token = branch.repository.lock_write(token=repo_token)
 
295
            repo_token = branch.repository.lock_write(
 
296
                token=repo_token).repository_token
296
297
            try:
297
 
                branch_token = branch.lock_write(token=branch_token)
 
298
                branch_token = branch.lock_write(
 
299
                    token=branch_token).branch_token
298
300
            finally:
299
301
                # this leaves the repository with 1 lock
300
302
                branch.repository.unlock()