aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libbe/bugdir.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/libbe/bugdir.py b/libbe/bugdir.py
index 50dc8ba..cec1e3b 100644
--- a/libbe/bugdir.py
+++ b/libbe/bugdir.py
@@ -300,17 +300,23 @@ class BugDir (list, settings_object.SavedSettingsObject):
raise libbe.storage.InvalidStorageVersion(storage_version)
s = copy.deepcopy(self.storage)
s.writeable = False
- class RevisionedStorageGet (object):
+ class RevisionedStorage (object):
def __init__(self, storage, default_revision):
self.s = storage
self.sget = self.s.get
+ self.schildren = self.s.children
self.r = default_revision
def get(self, *args, **kwargs):
if not 'revision' in kwargs or kwargs['revision'] == None:
kwargs['revision'] = self.r
return self.sget(*args, **kwargs)
- rsg = RevisionedStorageGet(s, revision)
- s.get = rsg.get
+ def children(self, *args, **kwargs):
+ if not 'revision' in kwargs or kwargs['revision'] == None:
+ kwargs['revision'] = self.r
+ return self.schildren(*args, **kwargs)
+ rs = RevisionedStorage(s, revision)
+ s.get = rs.get
+ s.children = rs.children
dbd = BugDir(s, from_storage=True)
# dbd = copy.copy(self)
# dbd.storage = copy.copy(self.storage)