~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repofmt/pack_repo.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-11-03 23:02:16 UTC
  • mfrom: (2951.1.1 pack)
  • Revision ID: pqm@pqm.ubuntu.com-20071103230216-mnmwuxm413lyhjdv
(robertc) Fix data-refresh logic for packs not to refresh mid-transaction when a names write lock is held. (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1295
1295
                self._save_pack_names()
1296
1296
        else:
1297
1297
            self._new_pack.abort()
 
1298
            self._new_pack = None
1298
1299
        self.repo._text_knit = None
1299
1300
 
1300
1301
 
1514
1515
        return self
1515
1516
 
1516
1517
    def _refresh_data(self):
1517
 
        if self._write_lock_count == 1 or self.control_files._lock_count == 1:
 
1518
        if self._write_lock_count == 1 or (
 
1519
            self.control_files._lock_count == 1 and
 
1520
            self.control_files._lock_mode == 'r'):
1518
1521
            # forget what names there are
1519
1522
            self._pack_collection.reset()
1520
1523
            # XXX: Better to do an in-memory merge when acquiring a new lock -