~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-11-12 00:28:01 UTC
  • mfrom: (5535.2.4 read-lock-caches-tags)
  • Revision ID: pqm@pqm.ubuntu.com-20101112002801-qb8mk6pt3pqhp444
(spiv) Cache a branch's tags during a read-lock. (Andrew Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2369
2369
        self._ensure_real()
2370
2370
        return self._real_branch._get_tags_bytes()
2371
2371
 
 
2372
    @needs_read_lock
2372
2373
    def _get_tags_bytes(self):
 
2374
        if self._tags_bytes is None:
 
2375
            self._tags_bytes = self._get_tags_bytes_via_hpss()
 
2376
        return self._tags_bytes
 
2377
 
 
2378
    def _get_tags_bytes_via_hpss(self):
2373
2379
        medium = self._client._medium
2374
2380
        if medium._is_remote_before((1, 13)):
2375
2381
            return self._vfs_get_tags_bytes()
2385
2391
        return self._real_branch._set_tags_bytes(bytes)
2386
2392
 
2387
2393
    def _set_tags_bytes(self, bytes):
 
2394
        if self.is_locked():
 
2395
            self._tags_bytes = bytes
2388
2396
        medium = self._client._medium
2389
2397
        if medium._is_remote_before((1, 18)):
2390
2398
            self._vfs_set_tags_bytes(bytes)