/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: Andrew Bennetts
  • Date: 2008-04-08 06:38:34 UTC
  • mfrom: (2892.2.1 smart-set-last-revision)
  • mto: This revision was merged to the branch mainline in revision 3355.
  • Revision ID: andrew.bennetts@canonical.com-20080408063834-o4mid7woclibs6yj
Merge 'Add Branch.set_last_revision_info smart method'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
    deprecated_method,
43
43
    zero_ninetyone,
44
44
    )
45
 
from bzrlib.revision import NULL_REVISION
 
45
from bzrlib.revision import ensure_null, NULL_REVISION
46
46
from bzrlib.trace import mutter, note, warning
47
47
 
48
48
# Note: RemoteBzrDirFormat is in bzrdir.py
1228
1228
        self._control_files = None
1229
1229
        self._lock_mode = None
1230
1230
        self._lock_token = None
 
1231
        self._repo_lock_token = None
1231
1232
        self._lock_count = 0
1232
1233
        self._leave_lock = False
1233
1234
 
1488
1489
    def is_locked(self):
1489
1490
        return self._lock_count >= 1
1490
1491
 
 
1492
    @needs_write_lock
1491
1493
    def set_last_revision_info(self, revno, revision_id):
1492
 
        self._ensure_real()
1493
 
        self._clear_cached_state()
1494
 
        return self._real_branch.set_last_revision_info(revno, revision_id)
 
1494
        assert type(revno) is int
 
1495
        revision_id = ensure_null(revision_id)
 
1496
        path = self.bzrdir._path_for_remote_call(self._client)
 
1497
        response = self._client.call('Branch.set_last_revision_info',
 
1498
            path, self._lock_token, self._repo_lock_token, str(revno), revision_id)
 
1499
        if response == ('ok',):
 
1500
            self._clear_cached_state()
 
1501
        elif response[0] == 'NoSuchRevision':
 
1502
            raise NoSuchRevision(self, response[1])
 
1503
        else:
 
1504
            raise errors.UnexpectedSmartServerResponse(response)
1495
1505
 
1496
1506
    def generate_revision_history(self, revision_id, last_rev=None,
1497
1507
                                  other_branch=None):