Rev 2960: (robertc) Fix data-refresh logic for packs not to refresh mid-transaction when a names write lock is held. (Robert Collins) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Sat Nov 3 23:02:19 GMT 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2960
revision-id: pqm at pqm.ubuntu.com-20071103230216-mnmwuxm413lyhjdv
parent: pqm at pqm.ubuntu.com-20071103093911-4alf7wiad3n3vfz6
parent: robertc at robertcollins.net-20071031165438-lc0o11v5vaf3p1ta
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sat 2007-11-03 23:02:16 +0000
message:
(robertc) Fix data-refresh logic for packs not to refresh mid-transaction when a names write lock is held. (Robert Collins)
modified:
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
------------------------------------------------------------
revno: 2951.1.1
merged: robertc at robertcollins.net-20071031165438-lc0o11v5vaf3p1ta
parent: pqm at pqm.ubuntu.com-20071030214613-c0ojrpmnm21da068
committer: Robert Collins <robertc at robertcollins.net>
branch nick: pack
timestamp: Thu 2007-11-01 03:54:38 +1100
message:
(robertc) Fix data-refresh logic for packs not to refresh mid-transaction when a names write lock is held. (Robert Collins)
=== modified file 'bzrlib/repofmt/pack_repo.py'
--- a/bzrlib/repofmt/pack_repo.py 2007-10-30 17:39:11 +0000
+++ b/bzrlib/repofmt/pack_repo.py 2007-10-31 16:54:38 +0000
@@ -1295,6 +1295,7 @@
self._save_pack_names()
else:
self._new_pack.abort()
+ self._new_pack = None
self.repo._text_knit = None
@@ -1514,7 +1515,9 @@
return self
def _refresh_data(self):
- if self._write_lock_count == 1 or self.control_files._lock_count == 1:
+ if self._write_lock_count == 1 or (
+ self.control_files._lock_count == 1 and
+ self.control_files._lock_mode == 'r'):
# forget what names there are
self._pack_collection.reset()
# XXX: Better to do an in-memory merge when acquiring a new lock -
More information about the bazaar-commits
mailing list