Rev 5797: Merge Merge config-locks into config-lock-branch resolving conflicts in file:///home/vila/src/bzr/experimental/config/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Mon May 30 14:55:54 UTC 2011
At file:///home/vila/src/bzr/experimental/config/
------------------------------------------------------------
revno: 5797 [merge]
revision-id: v.ladeuil+lp at free.fr-20110530145554-j7nj13kbttlr8m2i
parent: v.ladeuil+lp at free.fr-20110527081141-1ljbvx3v4wdtvruy
parent: v.ladeuil+lp at free.fr-20110530131748-ukk0e2sj0xjk63ha
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: config-lock-branch
timestamp: Mon 2011-05-30 16:55:54 +0200
message:
Merge Merge config-locks into config-lock-branch resolving conflicts
modified:
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
-------------- next part --------------
=== modified file 'bzrlib/config.py'
--- a/bzrlib/config.py 2011-05-27 08:11:41 +0000
+++ b/bzrlib/config.py 2011-05-30 14:55:54 +0000
@@ -2333,9 +2333,9 @@
@needs_write_lock
def save(self):
# We need to be able to override the undecorated implementation
- self._save()
+ self.save_without_locking()
- def _save(self):
+ def save_without_locking(self):
super(LockableIniFileStore, self).save()
@@ -2562,11 +2562,17 @@
class _CompatibleStack(Stack):
"""Place holder for compatibility with previous design.
- This intended to ease the transition from the Config-based design to the
+ This is intended to ease the transition from the Config-based design to the
Stack-based design and should not be used nor relied upon by plugins.
One assumption made here is that the daughter classes will all use Stores
derived from LockableIniFileStore).
+
+ It implements set() by re-loading the store before applying the
+ modification and saving it.
+
+ The long term plan being to implement a single write by store to save
+ all modifications, this class should not be used in the interim.
"""
def set(self, name, value):
=== modified file 'bzrlib/tests/test_config.py'
--- a/bzrlib/tests/test_config.py 2011-05-18 19:08:42 +0000
+++ b/bzrlib/tests/test_config.py 2011-05-30 14:55:54 +0000
@@ -2170,14 +2170,14 @@
before_writing = threading.Event()
after_writing = threading.Event()
writing_done = threading.Event()
- c1_save_orig = c1.store._save
- def c1_save():
+ c1_save_without_locking_orig = c1.store.save_without_locking
+ def c1_save_without_locking():
before_writing.set()
- c1_save_orig()
+ c1_save_without_locking_orig()
# The lock is held. We wait for the main thread to decide when to
# continue
after_writing.wait()
- c1.store._save = c1_save
+ c1.store.save_without_locking = c1_save_without_locking
def c1_set():
c1.set('one', 'c1')
writing_done.set()
@@ -2204,15 +2204,15 @@
do_writing = threading.Event()
writing_done = threading.Event()
# We override the _save implementation so we know the store is locked
- c1_orig = c1.store._save
- def c1_save():
+ c1_save_without_locking_orig = c1.store.save_without_locking
+ def c1_save_without_locking():
ready_to_write.set()
# The lock is held. We wait for the main thread to decide when to
# continue
do_writing.wait()
- c1_orig()
+ c1_save_without_locking_orig()
writing_done.set()
- c1.store._save = c1_save
+ c1.store.save_without_locking = c1_save_without_locking
def c1_set():
c1.set('one', 'c1')
t1 = threading.Thread(target=c1_set)
More information about the bazaar-commits
mailing list